질문:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!