我有一个想要部署的应用程序,它是为 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/