Exécuter une application Java séparément
On peut souhaiter exécuter une application Java indépendamment de son emplacement en utilisant son nom d'une manière qui n'est pas dépendant du système d'exploitation.
Implémentation
Les propriétés du système Java fournissent des données qui permettent le développement du chemin d'accès à la commande Java et du chemin de classe dans un environnement indépendant de la plate-forme. manière.
Le code suivant illustre cette implémentation :
<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>
Vous pouvez exécuter cette méthode comme suit :
<code class="java">int status = JavaProcess.exec(MyClass.class, args);</code>
Notez que cette méthode accepte la classe réelle à la place de son nom sous forme de chaîne car il doit être inclus dans le chemin de classe.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!