我的問題是如何使用exec()或ProcessBuilder類在目錄中運行.class java文件。這隻適用於.class文件與java程序位於同一目錄中的情況。如何運行在另一個目錄中的.class文件
回答
你想產卵一個全新的過程?那麼你應該使用
Runtime.getRuntime().exec(new String[] {"java","-cp","/path/to/classes/dir/","com.foo.MyClass"});
如果你想在同一進程中的東西,你可以創建一個新的ClassLoader它知道如何加載你的.class文件。然後,您可以使用反射從類加載器中獲取類對象,並調用其「main」方法或類似的東西。您將需要使用反射,因爲該類在默認類加載器中不可用。
我遺漏了exec的一些參數,即用於設置類路徑的-cp(如果除了單個類文件外,還需要其他任何東西) – 2010-10-07 15:35:05
Java不是以這種方式啓動的。你需要給類路徑的絕對路徑,然後給出完全合格的類名稱。 Java不提供類文件。 – 2010-10-07 15:37:08
感謝馬克,更新我的例子 – 2010-10-08 03:39:48
問題解決了,大家好感謝您的答覆... :)
解決方案我已經使用
字符串路徑= 「d:\工作」; //我的程序執行的路徑
String program =「Test」; //我的程序名稱
ProcessBuilder pb = new ProcessBuilder(「java」,「 - classpath」,path,program);
如果您曾回到網站,您應該接受自己的答案。 – 2011-08-20 20:50:38
- 1. 在另一個目錄中運行源文件的jar文件
- 2. 如何在另一個目錄中編譯和運行Java類?
- 3. WordPress的 - 如何包括()一個文件,在另一個目錄
- 4. JAR文件從另一個目錄運行?
- 5. 如何在另一個目錄中執行* .cmd,就好像它正在當前目錄中運行一樣?
- 6. 如何將一個目錄中的第一個300行文件複製到另一個目錄?
- 7. 在os.walk中間的另一個目錄中運行程序
- 8. 如何從另一個python文件運行一個python文件?
- 9. 如何將一個目錄中的大量文件從一個目錄移動到另一個目錄?
- 10. 如何使用ofstream在另一個目錄中寫入文件?
- 11. 如何運行一個EXE文件依賴於另一個EXE文件運行
- 12. 如何將我的文件從一個目錄複製到另一個目錄?
- 13. 從一個目錄的文件複製到另一個目錄
- 14. 如何從/向另一個目錄中的文件讀寫?
- 15. 如何將文件複製到cordva中的另一個目錄?
- 16. tar文件在一個目錄中,並將檔案放在另一個目錄
- 17. 如何爲目錄中的每個文件運行java任務?
- 18. 獲取當前目錄並在vbscript中運行一個文件?
- 19. 如何在另一個項目中運行一個項目的形式
- 20. 將文件從一個目錄複製到另一個目錄
- 21. 將文件從一個目錄複製到另一個目錄
- 22. 將文件從一個目錄移動到另一個目錄
- 23. 將文件從一個目錄移動到另一個目錄
- 24. 將文件從一個目錄複製到另一個目錄
- 25. 將文件從一個目錄移動到另一個目錄
- 26. 將文件從一個目錄複製到另一個目錄
- 27. 將文件從一個目錄複製到另一個目錄
- 28. 如何遞歸地導入目錄中的每個文件並在每個文件中運行一個函數?
- 29. 將一個目錄中的cpp文件編譯到另一個目錄中
- 30. 保留在另一個文件夾中,我如何從另一個目錄中打開特定文件?
你認爲比使用exec()更簡單的選擇嗎?例如。將該類添加到類路徑中,並只導入/調用它通常的Java方式? – BalusC 2010-10-07 15:19:56