Java アプリケーションを個別に実行する
Java アプリケーションを、名前を使用して場所とは関係なく別の方法で実行したい場合があります。
実装
Java システム プロパティは、プラットフォームに依存しない Java コマンドへのパスとクラスパスの開発を可能にするデータを提供します。
次のコードは、この実装を示しています。
<code class="java">public final class JavaProcess { public static int exec(Class klass, List<String> args) throws IOException, InterruptedException { String javaHome = System.getProperty("java.home"); String javaBin = javaHome + File.separator + "bin" + File.separator + "java"; String classpath = System.getProperty("java.class.path"); String className = klass.getName(); List<String> command = new LinkedList<>(); command.add(javaBin); command.add("-cp"); command.add(classpath); command.add(className); command.addAll(args); ProcessBuilder builder = new ProcessBuilder(command); Process process = builder.inheritIO().start(); process.waitFor(); return process.exitValue(); } }</code>
このメソッドは次のように実行できます。
<code class="java">int status = JavaProcess.exec(MyClass.class, args);</code>
このメソッドは代わりに実際のクラスを受け入れることに注意してください。クラスパスに含める必要があるため、その名前を文字列として使用します。
以上がJava アプリケーションを場所に関係なく実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。