是否可以以平台无关的方式使用Java应用程序的名称(而不是位置)在单独的进程中加载Java应用程序?我知道你可以通过...执行程序Process process = Runtime.getRuntime().exec( COMMAND );...这种方法的主要问题是这样的调用是特定于平台的。理想情况下,我会将方法包装成像...这样简单的东西。EXECUTE.application( CLASS_TO_BE_EXECUTED );...并以形式传入应用程序类的完全限定名称CLASS_TO_BE_EXECUTED。
3 回答

烙印99
TA贡献1829条经验 获得超13个赞
两个提示:
System.getProperty("java.home") + "/bin/java" 为您提供Java可执行文件的路径。
((URLClassLoader) Thread.currentThread().getContextClassLoader()).getURL() 帮助您重构当前应用程序的类路径。
然后您EXECUTE.application就是(伪代码):
Process.exec(javaExecutable, "-classpath", urls.join(":"), CLASS_TO_BE_EXECUTED)
添加回答
举报
0/150
提交
取消