>  기사  >  Java  >  Java 애플리케이션을 이름에 따라 별도로 실행할 수 있습니까?

Java 애플리케이션을 이름에 따라 별도로 실행할 수 있습니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-03 21:40:30654검색

Can Java Applications Run Separately Based on Their Names?

독립 프로세스에서 Java 애플리케이션 호출

질문:

Java 애플리케이션을 이름에 따라 별도의 프로세스에서 실행할 수 있습니까? , 위치와 상관없이?

답변:

예, 파일 경로가 아닌 이름을 사용하여 별도의 프로세스에서 Java 애플리케이션을 실행할 수 있습니다. 이는 Java 시스템 속성을 활용하여 플랫폼 독립적인 방식으로 달성할 수 있습니다.

별도의 프로세스에서 Java 애플리케이션을 실행하려면 다음 접근 방식을 사용할 수 있습니다.

<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>

용도:

<code class="java">int exitCode = JavaProcess.execute(MyApplicationClass.class, arguments);</code>

이 접근 방식은 클래스 경로 메커니즘과 완벽하게 통합되어 물리적 위치에 관계없이 애플리케이션을 쉽게 실행할 수 있습니다.

위 내용은 Java 애플리케이션을 이름에 따라 별도로 실행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.