所以希望标题涵盖了 jist,我知道围绕这种事情有多个帖子,我特别遇到的问题是如何为我当前正在运行的包含该类的 jar 设置类路径。
即,我使用 Maven 程序集插件打包了我的 jar,其中所有依赖项都在其中爆炸。所以我只是想创建一个子进程来执行我的 jar 中存在的依赖类之一,从我的 jar 中。如果那可能?
感谢下面的帖子,这是解决方案:
URL baseUrl = getClass().getProtectionDomain().getCodeSource().getLocation();
String myPath = (new File(baseUrl.toURI())).getCanonicalPath();
ProcessBuilder pb = new ProcessBuilder("javaw", "-cp", myPath,
"jp.vmi.selenium.selenese.Main", config.getSuite().getAbsolutePath());
pb.redirectErrorStream(true);
try
{
Process proc = pb.start();
InputStream is = proc.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
int c;
while ((c = bis.read()) != -1)
{
System.out.write(c);
}
int exit = proc.waitFor();
任何指向正确方向的指针将不胜感激。
谢谢,