【问题标题】:Upgrade Java 7 to... 8 ? 10 ? 11?将 Java 7 升级到... 8 ? 10 ? 11?
【发布时间】:2018-10-22 09:54:33
【问题描述】:

我目前正在开发一个包含大约 5 个独立项目的大型系统。 所有这些项目都是 java 7 并在 JBoss EAP 6.1 中运行,一些是带有 JSF 的 Web 项目,而另一些是用作依赖项的库或通过 Web 服务提供服务的项目......在 groovy 1.9 中还有一个系统,它们都有已经快10岁了。

由于支持结束,我们需要更新 JBoss 和 JDK。 我考虑过对 JDK 8 和 Wildfly 8 进行更新,但尽管 Java 8 是当今的市场标准,但它已经是一个非常旧的版本,已经快 5 年了,除了 Java 11 已经存在,12 已经在烤箱中.

问题: 我知道任何升级都会带来创伤,主要是因为我们使用了像 Richfaces 这样的 JSF 库。您认为我应该专注于升级到 JDK 8 还是直接升级到 JDK 10/11?

我倾向于直接使用 JDK 11、Wildfly 14 和最新版本的 Eclipse(我们仍然使用 Kepler)。 代码本身不会有大的变化,我最关心的是我们使用的所有旧库:Richfaces、Joda、Tika、CXF、Guava、Groovy、HTTPClients 等...

最近有没有其他人经历过这样的事情?你有什么推荐的?

【问题讨论】:

  • 您应该直接使用 Java 11,因为 Java 10 不再可用
  • 我也建议先扩展和测试您的项目的 Java 11 兼容性,因为它是下一个 LTS 版本。 oracle.com/technetwork/java/eol-135779.html
  • @Selaron:这不是“下一个”LST 版本 - 它是 当前 LTS 版本
  • 我在这里找到了关于替换从 Java 11 中删除的 java 模块的好提示:stackoverflow.com/questions/48204141/…
  • 我现在的处境完全一样。试图找出一个项目的升级路径,该项目有多个 jars、wars 和 ear 使用 java 7 和 switchyard 1 构建并在 JBoss EAP 6.1 上运行。该项目还使用 JSF、Groovy 和 GWT。很想知道你是通过什么途径升级的。

标签: java jboss wildfly


【解决方案1】:

如果您的目标是 java 11,请务必从 java 7 开始,以获得单独的重构版本。

您是说代码很大。圈状结构可能是巨大的。 因此,您想以某种方式首先将应用程序拆分为独立的库,以便为模块做准备。可能每个分层的“模块”和通用代码:4-5 个罐子。

对于 java 8,您可以立即开始。

然后在某种程度上开始重构新风格的语言特性:缩短代码(因为流更具表现力),也许使用新的时间类而不是 joda,路径/文件而不是文件。

在 Eclipse 中使用 SonarLint 以避免代码质量下降和不必要的新错误。

重要提示:制作所有来源的 Excel 清单,以便您可以在日期 X 记录完成百分比,在 Excel 中制作进度图。否则你会 无法客观地传达您的进度,尤其是无法预测结束日期。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-28
    • 1970-01-01
    • 1970-01-01
    • 2014-05-02
    • 1970-01-01
    • 1970-01-01
    • 2021-01-02
    • 1970-01-01
    相关资源
    最近更新 更多