我想在程序中執行另一個Java程序。我參考了here。爲了測試,我粘貼了與接受的答案相同的代碼。我已經通過了一個簡單的HelloWorld程序。程序編譯完美,但給主類找不到錯誤。在另一個程序中運行Java程序會給出錯誤
這裏是我的代碼: Server.java
public static void main(String args[]) {
try {
runProcess("javac D:\\HelloWorld.java");
runProcess("java D:\\HelloWorld");
} catch (Exception e) {
e.printStackTrace();
}
}
private static void printLines(String name, InputStream ins) throws Exception {
String line = null;
BufferedReader in = new BufferedReader(
new InputStreamReader(ins));
while ((line = in.readLine()) != null) {
System.out.println(name + " " + line);
}
}
private static void runProcess(String command) throws Exception {
Process pro = Runtime.getRuntime().exec(command);
printLines(command + " stdout:", pro.getInputStream());
printLines(command + " stderr:", pro.getErrorStream());
pro.waitFor();
System.out.println(command + " exitValue() " + pro.exitValue());
}
HelloWorld.java:
`public static void main(String args[]){
System.out.println("Hello World!");
}`
輸出: exitValue() 0 for javac stderr: Error: Could not find or load main class D:\HelloWorld exitValue() 1 for java
上編譯和CMD或IDE運行同一程序給出完美輸出。
你能展示你的代碼嗎? – hdost
包中有'HelloWorld'嗎? 另外,你有沒有嘗試自己運行「java D:\\ HelloWorld」命令? – MrHug
你在所謂的路徑中有'.class'文件嗎? 'd:\ HelloWorld' – Yazan