0
目前,我的包含主类Main.class
和另一个类Other.class
的包mypackage
的可运行JAR文件。在子流程中运行类的另一种方法
重点是我试图运行Other.class
在运行整个JAR的进程的子进程中。
现在,我有我的Main.class
是这样的:
public static void main(String[] args) {
Runtime.getRuntime().exec("java -cp " + Main.class.getProtectionDomain().getCodeSource().getLocation().getPath() + " mypackage.Other");
}
这工作,但我有一个问题。我还有一个程序,它运行JAR文件,然后立即从HDD中删除它(由于安全原因)。因此,当源JAR文件不存在时,-cp
参数内容无法生效。
所以我正在寻找一些方法来实现同样的事情,但没有JAR文件。
理念:也许只是运行编译Other.class
从RAM或任何地方的JAR内容从硬盘删除其运行后...
有什么办法? 谢谢。
看来你是完全错误的方式。你的问题是AB问题的一个典型例子。你有问题A,你认为你知道它的解决方案。现在只有一个小问题:问题B.尝试解释问题A.可能你会得到更好的建议。 – AlexR