首页  >  文章  >  Java  >  如何独立于其位置执行 Java 应用程序?

如何独立于其位置执行 Java 应用程序?

Patricia Arquette
Patricia Arquette原创
2024-11-06 10:36:02120浏览

How to Execute a Java Application Independently of Its Location?

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn