单独执行 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中文网其他相关文章!