美好的一天每個人,我有一個程序(讓我們稱之爲'A'),這是從一個ANT腳本使用java
調用。該程序使用Runtime.getRunTime.exec("batFile.bat")
。 .bat
文件依次調用另一個java文件(讓它稱爲'B')。現在,問題出現了。Java進程間通信
有沒有辦法讓B可以訪問A的實例變量?
美好的一天每個人,我有一個程序(讓我們稱之爲'A'),這是從一個ANT腳本使用java
調用。該程序使用Runtime.getRunTime.exec("batFile.bat")
。 .bat
文件依次調用另一個java文件(讓它稱爲'B')。現在,問題出現了。Java進程間通信
有沒有辦法讓B可以訪問A的實例變量?
如果在啓動進程B之前知道進程A中變量的值,那麼可以通過多種方式共享該值。
將它作爲命令行參數,例如:
String[] cmd = {"batFile.bat", variableValue};
Runtime.getRunTime.exec(cmd);
其設置成B的過程中的環境變量,例如:
String cmd = "batFile.bat";
String[] envp = {"VARIABLE="+variableValue};
Runtime.getRunTime.exec(cmd, envp);
值寫入過程A中的文件,讀取進程B中的文件。
否。因爲.bat文件正在創建新的jvm進程。也許你想用DB來共享數據。
KISS方法的+1 - 如果你只是想傳遞一個值,傳遞一個值8 =} – davidfrancis 2012-02-01 12:00:03