我有一个需要在1.7上运行的项目1,该项目依赖于另一个基于1.8的项目2。
我正在尝试从Project 1中的Project 2调用一个类,但是却遇到了一个已知错误,该错误已在1.8中修复。如果我在JRE 1.8的Project 2上单独运行该类,则效果很好。
有什么方法可以动态地为方法调用选择目标JRE?
如果您愿意制作一个jar并为每个程序使用包装器,则可以将特定的jre与每个可执行文件捆绑在一起。
下载并运行Launch4j
在您的Eclipse项目中,单击:
File -> export -> runnable jar file -> next
然后为您要提取的项目选择运行配置。击中Finish
测试每个罐子并确保其运行是一个好主意。双击,或使用cmd查找并执行java -jar nameOfJarToTest.jar
。
为您的jre创建一个子文件夹。我只是称我为“ jre”。
将您的bin
和lib
文件夹从正确的jre 复制并粘贴到您刚创建的文件夹中。我的位置位于C:\Program Files\Java\jre1.8.0_201
您想运行Java 8 的地方。要特别清楚,文件结构应为
someContainerFolder(您刚刚创建的文件夹)
nameOfJarToTest.jar jre(folder you just made) bin(folder copied from the jre in your file system) lib(folder copied from the jre in your file system)
单击jre选项卡,然后在min jre
字段中添加您各自的jre 。确保选择该选项Only use private jdk runtimes
。在下图所示的“捆绑的jre路径”字段中键入“ jre”(如果您使用“ bin”和“ lib” jre命名文件夹)。
如果对两个jar文件都执行此操作,并确保“ bin”和“ lib”文件夹来自要运行的jre,则这两个程序在不同的运行时环境中都可以正常运行。如果您希望一个程序能够调用另一个程序,我发现geeksforgeeks网站提供了一种非常简单明了的方法,可以让您从代码中调用外部可执行文件(如果您可以使用规范路径)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句