Frage:
Können Java-Anwendungen basierend auf ihren Namen in separaten Prozessen ausgeführt werden? , unabhängig von ihrem Standort?
Antwort:
Ja, es ist möglich, Java-Anwendungen in separaten Prozessen unter Verwendung ihrer Namen und nicht ihrer Dateipfade auszuführen. Dies kann plattformunabhängig durch die Nutzung von Java-Systemeigenschaften erreicht werden.
Um eine Java-Anwendung in einem separaten Prozess auszuführen, können Sie den folgenden Ansatz verwenden:
<code class="java">public class JavaProcess { public static int execute(Class<?> appClass, 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 = appClass.getName(); List<String> command = new LinkedList<>(); command.add(javaBin); command.add("-cp"); command.add(classpath); command.add(className); if (args != null) { command.addAll(args); } ProcessBuilder builder = new ProcessBuilder(command); Process process = builder.inheritIO().start(); process.waitFor(); return process.exitValue(); } }</code>
Verwendung:
<code class="java">int exitCode = JavaProcess.execute(MyApplicationClass.class, arguments);</code>
Dieser Ansatz lässt sich nahtlos in den Klassenpfadmechanismus integrieren und ermöglicht die einfache Ausführung von Anwendungen unabhängig von ihrem physischen Standort.
Das obige ist der detaillierte Inhalt vonKönnen Java-Anwendungen basierend auf ihren Namen separat ausgeführt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!