我的意思是在概念上類似於Runtime.getRuntime()。exec(...),但它允許直接調用該類而不調用exec(「java -classpath $ currentClasspath my.class.name」)...如何在不調用Runtime.getRuntime()。exec(...)的情況下在發起者JVM之外啓動外部類?
只要注意到tools.jar有一個用於編譯特定java源代碼的有用的java類,那麼類似於直接執行java類的東西呢?
我的意思是在概念上類似於Runtime.getRuntime()。exec(...),但它允許直接調用該類而不調用exec(「java -classpath $ currentClasspath my.class.name」)...如何在不調用Runtime.getRuntime()。exec(...)的情況下在發起者JVM之外啓動外部類?
只要注意到tools.jar有一個用於編譯特定java源代碼的有用的java類,那麼類似於直接執行java類的東西呢?
String[] args = {"foo", "bar"};
my.pkg.MyClass.main(args);
當然,您必須確保my.pkg.MyClass
在編譯時和編譯時在類路徑上。
如果你有一個JAR並且你知道這個API,你可以在任何一個類上調用new並運行它們,就好像它們是你自己的一樣。我不確定你在這裏問什麼。當然,主要只是一個類的另一種方法,儘管是靜態的。
調用exec在另一個進程中啓動程序,這會給你一些好處。如果需要,您可以在另一個線程中調用main。
也許更多的細節會更好。
我需要隔離由invoker類繼承的OpenGL線程,在另一個JVM進程中爲被調用類創建一個新線程 – 2010-07-17 12:43:20
不是那麼容易,我需要隔離OpenGL線程否則繼承 – 2010-07-17 12:44:52