我的意思是在概念上类似于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