gpt4 book ai didi

java - 如何在与当前项目的 JRE 不同的 JRE 上执行库 jar 中的方法

转载 作者:行者123 更新时间:2023-11-30 01:51:25 27 4
gpt4 key购买 nike

我有一个项目 1 需要在 1.7 上运行,该项目依赖于另一个在 1.8 上构建的项目 2。

我试图在项目 1 内调用项目 2 中的类,但出现一个已知错误,该错误已在 1.8 中修复。如果我在 JRE 1.8 的项目 2 上单独运行这个类,它工作得很好。

是否可以动态选择方法调用的目标 JRE?

最佳答案

如果您愿意制作一个 jar 并为每个程序使用包装器,则可以将特定的 jre 与每个可执行文件捆绑在一起。

  1. 下载并运行Launch4j

  2. 在您的 Eclipse 项目中,单击:

    文件 -> 导出 -> 可运行的 jar 文件 -> 下一步

    并选择您要提取的项目的运行配置。点击完成

  3. 测试每个 jar 并确保其运行是个好主意。双击,或使用cmd找到它并执行java -jar nameOfJarToTest.jar

  4. 为您的 jre 创建一个子文件夹。我刚刚称我的为“jre”。

  5. 将正确的 jre 中的 binlib 文件夹复制并粘贴到您刚刚创建的文件夹中。如果你想运行 java 8,我的文件位于 C:\Program Files\Java\jre1.8.0_201 之类的位置。更清楚地说,你的文件结构应该是

    <

someContainerFolder(folder you just made)

  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)
  • 运行 Launch4j。添加 .jar 并选择输出文件路径。如下图所示的字段 enter image description here

  • 单击 jre 选项卡并在 min jre 字段中添加相应的 jre。确保选择选项仅使用私有(private) jdk 运行时。在下图所示的“捆绑的 jre 路径”字段中输入“jre”(如果您用“bin”和“lib”jre 命名该文件夹)。

  • enter image description here

  • 点击“构建包装器”。它看起来像一个设置齿轮。 enter image description here
  • 如果您对两个 jar 文件都执行此操作,并确保“bin”和“lib”文件夹来自您要运行的 jre,则这两个程序都将在不同的运行时环境中正常运行。如果您希望一个程序能够调用另一个程序,我发现 geeksforgeeks 网站有 a very simple and concise way for you to call external executable files from your code如果您同意规范路径。

    关于java - 如何在与当前项目的 JRE 不同的 JRE 上执行库 jar 中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55904490/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com