2017-06-02 16 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ありがとう@MauricePerryとKlitos Kyriacouですが、パラメータが文字列でなく、別のクラスのオブジェクトであればどうなりますか? – user7608888

答えて

0

あなたがProcessBuilderを中にパラメータを渡すことができ、パラメータの型は、それが主な方法と必要なパラメータを呼び出しますタイプString.Anyの方法でなければなりませんが。あなたは、ドライバであなたのロジックを置くことができるエントリポイントになります文字列です。 mainメソッドで呼び出すクラス。

Process process = new ProcessBuilder(
       System.getProperty("java.home") + "/bin/java", 
       "-classpath", 
       classpath, 
       MyMainClass.class.getCanonicalName() 
       // main class arguments go here 
     ) 
関連する問題