我们有一个使用Java 8构建的存储库,存储库中有多个rest服务。我们希望迁移到Java 11,并试图找出最佳的实现方法。我们正在考虑一个模块一个模块地做。例如,将一个服务改为Java 11,而剩下的仍然是Java 8。我们不确定Maven是否支持这一点?
发布于 2020-02-11 13:16:13
免责声明:这不是答案,只是对我最近经历的部分报告。如果你觉得这个答案不符合SO标准的话,你可以随意标记这个答案。
Maven支持这个吗?
是的,使用编译器插件3.8.0/3.8.1
然而,这种迁移需要额外的注意。
最近,我们从ORACLE JDK 8迁移到OPENJDK 11,这样做了。由于我们有不同任务的存储库,我们面临着各种各样的问题。举几个例子,我在我的电子邮箱里找到了一些贴着jdk11_migration标签的邮件。
虽然这不是一个确切的解决方案,但是有一个标志可以消除这个警告--非法访问=许可。这是特别重要的,当使用肯定火maven插件。
尽管这对我们来说不是一个问题,但我只是注意到,您的存储库主要由REST组件组成。您可能会面临一些ClassNotFound问题,比如javax.xml.bind之类的包,这些包基本上已经退出了java标准版本。您可以通过将它们明确地包含在您的pom.xml中来修复它。
幸运的是,你可能会发现好的问题&在你的迁移中,无论是在这里,还是在互联网上,你都会发现每一个问题的答案。野外有一些迁徙指南,它们是很好的起点。一些特定的问题,比如混淆和IDE集成,可能需要一点时间,但是,至少在我的经验中,这种迁移比我想象的要轻松。
发布于 2020-02-11 11:38:42
我的建议是升级整个项目。尝试拥有一些Java8和一些Java11模块是非常困难的。正如您已经知道的,从Java9模块开始出现。答案非常笼统,因此很难给出详细的答复。我想:
我建议的计划:
如果它可以帮助您,让我们看看这个关于github的简单项目 (它的目标是Java11,它是一个多模块的Maven项目)。
希望能帮上忙。
https://stackoverflow.com/questions/60166816
复制相似问题