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

RakeshS:

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

我正在尝试从Project 1中的Project 2调用一个类,但是却遇到了一个已知错误,该错误已在1.8中修复。如果我在JRE 1.8的Project 2上单独运行该类,则效果很好。

有什么方法可以动态地为方法调用选择目标JRE?

geekTechnique:

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

  1. 下载并运行Launch4j

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

    File -> export -> runnable jar file -> next

    然后为您要提取的项目选择运行配置。击中Finish

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

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

  5. 将您的binlib文件夹从正确的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)
  1. 运行Launch4j。添加.jar并选择一个输出文件路径。如下图所示在此处输入图片说明

  2. 单击jre选项卡,然后在min jre字段中添加您各自的jre 确保选择该选项Only use private jdk runtimes在下图所示的“捆绑的jre路径”字段中键入“ jre”(如果您使用“ bin”和“ lib” jre命名文件夹)。

在此处输入图片说明

  1. 点击“构建包装器”。看起来像是嵌齿轮。在此处输入图片说明

如果对两个jar文件都执行此操作,并确保“ bin”和“ lib”文件夹来自要运行的jre,则这两个程序在不同的运行时环境中都可以正常运行。如果您希望一个程序能够调用另一个程序,我发现geeksforgeeks网站提供了一种非常简单明了的方法,可以让您从代码中调用外部可执行文件(如果您可以使用规范路径)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Eclipse插件中获取当前项目的通用方法

如何指定JRE运行可执行jar

如何在 Google Cloud Platform 中获取当前项目的组织 ID?

如何在Delphi 10.2中使用ToolsAPI获取当前项目的版本号

如何设置当前项目的事件,并忽略jQuery中的父母?

如何确保在 GCP 中将 Deployment/Pod 内置到当前项目的集群中?

如何从当前项目中引用Java Web项目库?

如何将外部存储库中的单个文件拉入当前项目?

限制对AppEngine上的JRE库类的访问的目的是什么?

当前项目的CSS内容属性

当前项目的 WPF 动态资源

如何从SearchBar获取Tableview中所有项目的当前项目的索引

Nuget库-将库的DLL复制到当前项目的输出目录

如何将.c和.h文件存储在包含路径中,与当前项目的源代码分开

如何在 FragmentPagerAdapter 中获取当前项目?

如何在Xamarin表单的ItemTemplate中获取当前项目

如何将外部 Maven 项目的依赖项添加到当前项目?

在ItemSelectedChanged()上获取当前项目QListWidget

Visual Studio / MSBuild将引用的类库的app.config作为* .dll.config复制到当前项目的bin文件夹中

如何在for_each循环中检索当前项目的索引?

JavaScript数组映射函数如何确定当前项目的长度和索引

如何使用Maven将生成的文件从依赖项复制到当前项目的目标?

如何在当前项目的代码路径中找到?

Vim:替换时如何更改当前项目的突出显示颜色

获取Javascript中每个箭头函数的当前项目的索引

当前项目的软件包来源中没有可用的软件包更新

重复Angular中的包含操作-访问当前项目的最佳实践?

在包中设置一个.Rmd以将文件写入当前项目的工作目录

Doctrine2获取集合中当前项目的索引