0

我有一个虚拟 jar,它唯一的工作是显示一个简单的 jdialog 并要求用户从提供的组合中选择所需的内存大小。选择所需的最大内存后,用户单击开始按钮运行我的主 Jar。

我在虚拟 jar 中使用 runtime.getRuntime.exec() 方法来调用我的主 jar。

我已经硬编码了我的主罐子路径,它工作正常。但是我想知道当两个罐子位于不同的位置时,如何以编程方式获取我的主罐子的位置?

我可以使用以下链接中使用的方法获取我的虚拟 jar 的路径。

如何获取正在运行的 JAR 文件的路径?

但请建议我获取我的主程序的 jar 路径..

4

1 回答 1

1

你不能,除非你知道它们将在哪里安装/部署。为什么不将它们都打包在同一个 JAR 中,然后您可以使用您描述的技术找到 JAR 路径?

您应该有两个带有main()方法的类,例如org.kittu.Mainorg.kittu.Dummy。将它们打包main.jar并确保org.kittu.Dummy是默认执行的类(在清单中)。

在您的Dummy班级中,获取main.jar用户想要的内存的位置和数量,然后exec()是:

java -Xmx <memory> -jar <path to main.jar> org.kittu.Main

运行你的Main课程。

于 2012-07-18T18:09:19.330 回答