在单独的过程中执行Java应用程序

是否可以以平台无关的方式使用Java应用程序的名称(而不是位置)在单独的进程中加载Java应用程序?


我知道你可以通过...执行程序


Process process = Runtime.getRuntime().exec( COMMAND );

...这种方法的主要问题是这样的调用是特定于平台的。



理想情况下,我会将方法包装成像...这样简单的东西。


EXECUTE.application( CLASS_TO_BE_EXECUTED );

...并以形式传入应用程序类的完全限定名称CLASS_TO_BE_EXECUTED。


森林海
浏览 430回答 3
3回答

烙印99

两个提示:System.getProperty("java.home") + "/bin/java" 为您提供Java可执行文件的路径。((URLClassLoader) Thread.currentThread().getContextClassLoader()).getURL() 帮助您重构当前应用程序的类路径。然后您EXECUTE.application就是(伪代码):Process.exec(javaExecutable, "-classpath", urls.join(":"), CLASS_TO_BE_EXECUTED)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java