問題:
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中文網其他相關文章!