将使用JDK SE 8编译的JAXB项目,但也必须在JRE 11上运行

抽烟:

我有一个用Java 1.8编译的Java程序,因为它具有-在其他程序之间-因为许多用户只有JRE 1.8。在该程序中,我经常使用javax.xml.bind。*来编组和解组XML。为了帮助用户在JRE 9-10上运行它,我还提供了一个shell脚本,该脚本使用-add-modules参数调用java 对于具有Java 11+(并且未安装以前的Java版本)的用户,它将不起作用,对吗?

因此,我想到了将JAXB(或EclipseLink Moxy)与程序捆绑在一起,并仍然使用JDK8(使用Eclipse IDE)对其进行编译。这样我就可以在Java 8上运行,并且仍在Java 11+上运行。那行得通吗?

谢谢!

抽烟:

感谢您的评论和答复!

我终于让它运行了,尽管还不完善。这就是我所做的:

  1. 在此处下载了Jakarta JAXB 2.3.2:maven
  2. 解压缩并将内容放入我的项目目录
  3. 在Eclipse IDE 2020-6中,我编辑了项目的属性(Cmd + I):
  4. 在“ Java构建路径”主题下,我添加了3个带有“添加外部JAR”的jar:jaxb-impl.jar,jakarta.xml.bind-api.jar和jakarta.activation.jar
  5. 我以前显然忘记了这一部分:在“订购和出口”下,我检查了3个JAR。

为了测试结果,我在“运行/调试”下告诉Eclipse IDE,注册“ JRE”以使用JRE 12运行我的主类。

那对我有用。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用JDK 13编译并使用JRE 8运行

gradle无法使用工具链:“ JDK 8(1.8)”来定位平台:“ Java SE 11”

Scala文件可以编译,但不会在Scala 2.11.12和JDK 11上作为脚本运行

使用Java 8编译Gradle Java项目但使用Java 11运行测试

Android-无法在JRE上进行编译-确保Gradle在JDK而非JRE上运行

用的OpenJFX上JDK 11运行的JavaFX样品上模块路径11个JMODS

无法使用 jdk11 在 ubuntu 上运行我的 spring 应用程序

如何在Mac上使用更新的JRE或JDK运行Android Studio?

是否可以使用JDK 1.6构建Java代码以在JRE 1.5上运行?

一个将使用nvm在项目上设置默认节点版本的点文件?

是否可以使用Oracle JDK编译Java并在OpenJDK上运行代码?

在此环境中不提供编译器。也许您是在JRE而不是JDK上运行?

将我的应用程序在Android 4.0上运行,如果我使用JDK 8

Eclipse中的Maven项目-也许您在JRE而不是JDK上运行

无法在 Windows 上使用 JavaFX 11 运行 Maven 着色 jar

使用JDK 11不能运行Apache的Netbeans 11

在Internet Explorer 10、11上运行Angular 8应用

Maven错误:也许您在JRE而不是JDK上运行?

JDK / JRE安装程序无法在x64上运行

一旦使用 IntelliJIdea 将 jdk 版本从 11 降级到 8,就无法运行 Spring 启动应用程序

AdoptOpenJDK的JRE 11+是否与在JDK上使用jlink相同,是否添加了所有依赖项

可以的javac编译11二进制/瓶,这将在Java 8 JVM上运行?

的IntelliJ - 使用JDK 11和Eclipse编译器

在JDK 11使用“VAR”时,在编译时的问题

我可以将使用clang c ++ 11编译的对象与使用c ++ 17编译的另一个对象链接吗

Maven无法在Windows JDK 11上运行,它说未设置JAVA_HOME

使用Qt时是否必须在特定操作系统上才能针对特定操作系统进行编译?

Jenkins Windows slave:在此环境中未提供编译器。也许您在JRE而不是JDK上运行

编译失败的JDK 11和编译罚款JDK 8