有沒有一種方法來重建在Java程序中傳遞給Java的命令行參數,包括JVM選項和類路徑選項?我有一個Java程序,需要重新啓動JVM並操縱它的bootclasspath(即試圖覆蓋某些系統類)。我使用libc
system
方法來調用新的JVM。重建java命令行參數
我打開更好的方法,但Java代理不是一個選項。
有沒有一種方法來重建在Java程序中傳遞給Java的命令行參數,包括JVM選項和類路徑選項?我有一個Java程序,需要重新啓動JVM並操縱它的bootclasspath(即試圖覆蓋某些系統類)。我使用libc
system
方法來調用新的JVM。重建java命令行參數
我打開更好的方法,但Java代理不是一個選項。
Err ...修改整個核心Java類運行時是一個非常非常糟糕的主意。
子類化在這裏有什麼問題?你想修改一個外部庫,添加功能還是懶惰?
爲什麼downvote? – TheLQ 2010-06-11 15:25:18
歡迎來到互聯網,朋友。 – 2015-11-01 01:06:52
我同意使用bootclasspath把玩通常是一個貧窮的想法。但是...
獲取「java.c」的代碼 - 編譯爲java.exe的C程序。你會發現它只是使用JNI Invocation API來構造一個JVM並調用主方法。您可以修改並重新編譯此代碼以查找特定的退出代碼等,並在需要時循環並重新啓動JVM。另外,Eclipse可以做到這一點(或者至少用於),但是有一個Java程序構造命令行(來自道具文件等)並啓動一個子進程。同樣,它鉤住子流程退出代碼並用它來決定是否重新啓動新的子流程。
我真的很好奇你在這裏試圖做什麼...... – alex 2010-06-09 19:18:58
是否有'ps -xxx'? – trashgod 2010-06-09 19:53:24
@trashgod,它不可用於重用 – notnoop 2010-06-10 02:50:33