java - 使用 Maven 进行目标特定的 Java 更新

标签 java maven

我有一个想要部署的应用程序,它是为 java 1.8.0_151 编译的。然而,该用户只有1.8.0_25。用户无法启动应用程序,因为缺少 LocalDateStringConverter

如此处所写(https://docs.oracle.com/javase/8/javafx/api/javafx/util/converter/LocalDateStringConverter.html),此类仅在 8u40 中添加

如何编译(可能吗?)具有针对用户的特定 java 版本的依赖项的 jar?

或者也许我误解了一些东西,这里是java新手

编辑我尝试在我的 pom.xml 中指定带有更新号的价格版本,但没有帮助

最佳答案

有两种方法可以解决这个问题:

  • 您必须设置环境以使用用户期望的 JDK。在本例中 1.8.0_25 - 您需要使用此 JDK 及其中可用的类来开发所有逻辑。如果 LocalDateStringConverter 是您唯一缺少的依赖项,您可以轻松找到 source code并将项目内的逻辑复制为实用程序类并使用它。

  • 您可以要求/帮助/建议您的用户将其环境升级到更新的 JDK 版本(安全原因等)。如您所知,大多数软件都有最低运行要求,并且最终用户希望满足这些要求才能运行该软件。

正如已经提到的,您可以使用 Maven Enforcer Plugin强制执行特定的 java 版本,但这不会使 1.8.0_151 中的功能在 1.8.0_25 中可用。

关于java - 使用 Maven 进行目标特定的 Java 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49391156/

相关文章:

java - maven 程序集插件和配置文件

java - maven 中 <parent></parent> 和 <dependency><dependency> 有什么区别?

JavaFX 从选项卡获取元素

java - 检查线程是否需要 EDT?

java - 从 Android/Java 中连接的线程读取 double 值

java - 将小部件添加到面板的第一个位置?

java - Maven 3.0.5 + Windows 8 + jdk 7 问题

java - 为 Hazelcast 配置 Java 客户端

maven - Gradle下载repo1.maven.org卡住了

java - 如何通过config.properties从pom.xml获取参数值