嗨,我一直在努力讓'getenv'工作。它將繼續返回「線程中的異常」main「java.lang.UnsupportedOperationException」。我一直在閱讀關於ProcessBuilder的知識,但是我不太清楚在下面的代碼中如何以及在哪裏實現它。讓getenv在使用Java的Windows中工作
我想要做的就是當條件滿足時設置一個變量(「REGRESSION_STATUS」,「UPDATED」)和(「REGRESSION_STATUS」,「OUTDATED」),並返回值「UPDATED」和「 OUTDATED「,當通過Windows中的cmd執行時。
public static void main(String[] args) throws ClassNotFoundException {
String run_type = args[0];
String inputFile = args[1];
System.out.println("RUN TYPE = " + run_type);
System.out.println("INPUT FILE = " + inputFile);
MiniData data = getValue(run_type, "LEM");
if(run_type.equals("BUILD")){
System.out.println("Script = " + data.getScript());
}
else if (run_type.equals("DEPLOY")){
System.out.println("Script = " + data.getScript());
}
else if (run_type.equals("REGRESSION")){
System.out.println("Runtime Version (DB) = " + data.getRuntime());
String file_name =inputFile;
if(data.getRuntime().equals(getRuntimeVersion(file_name)))
{
System.out.println("The version is up-to-date");
System.getenv().put("REGRESSION_STATUS", "UPDATED");
System.getenv().put("REGRESSION_VER", data.getRuntime());
}
else
{
System.out.println("This version is outdated");
System.getenv().put("REGRESSION_STATUS", "OUTDATED");
System.getenv().put("REGRESSION_VER", data.getRuntime());
}
}
else {
System.out.println("You have not the correct value. Enter either BUILD/DEPLOY/REGRESSION");
}
}
謝謝!
然後,有什麼解決方案,我想實現? – Luqman
如果一個進程設置了一個環境變量,它只會影響它自己的環境以及它將啓動的子進程的環境。你不會產生任何孩子,所以你想達到什麼目的? – Joni