2017-06-02 75 views
0

我需要在新的JVM中从现有类实例化新类。我正在使用ProcessBuilder来做到这一点,但问题是我必须传递一个参数给这个新类的构造函数。我在哪里使用Process Builder指定构造函数的参数。如何在使用ProcessBuilder实例化新JVM实例中的类时传递构造函数的参数?

这是我目前正在做的,但是,我需要从这个类发送一个值到新的JVM中的新类。

ProcessBuilder processBuilder = new ProcessBuilder(Javabin, "-cp", 
     classpath, NewJVM.class.getName()); 
+0

您需要将它传递给新类的'main(String [] args)'方法。 –

+0

是的,在类名后添加参数 –

+0

Okay Thankyou @MauricePerry和Klitos Kyriacou但是如果参数不是字符串并且是另一个类的对象。 – user7608888

回答

0

您可以传递的ProcessBuilder参数和参数类型应该是类型String.Any方式,它会调用主方法和所需的参数是字符串,这将是一个切入点。你可以把你的逻辑驱动器通过主要方法调用的类。

Process process = new ProcessBuilder(
       System.getProperty("java.home") + "/bin/java", 
       "-classpath", 
       classpath, 
       MyMainClass.class.getCanonicalName() 
       // main class arguments go here 
     ) 
相关问题