如何将 Java 代码迁移到更新的 jdk(例如 1.8)

R. *_*olt 5 java netbeans jdk1.5 java-8

旧 jdk (1.5) 的Java 代码迁移更新的 Java 版本(1.8) 以提供其新功能和改进的最佳方法是什么。我们有一个很大的 Java jdk 5 代码库,想迁移到 jdk 8。

有很多的编译器警告和提示(例如diamond operatormulticatchunnecessary (un)boxing等),这将提高性能,代码的可读性,等等。

我们正在使用 Netbeans IDE。是否有我们可以使用的插件或有迁移脚本?

Mak*_*oto 5

您的代码与 Java 8 不兼容的可能性很小,因为 Java 在确保与所有先前版本的向后兼容性方面取得了长足的进步。

您可能会遇到的问题更深层次,可能是在多年来发生变化的集合或方法的实现中。

如果您没有涵盖代码关键路径的测试套件,请从那里开始。 您需要该测试套件来确保迁移不会严重破坏任何内容。

接下来,仔细阅读Java 1.7Java 1.8的兼容性指南,并确保您正在使用的任何内容都不会受到这些更改的影响。

最后,代码清理部分可以解决,但现在不应该解决。您唯一需要关心的是让平台在新版本的 Java 上运行。当您在代码库中工作时,训练自己和团队使用较新的 Java 习惯用法,例如菱形表示法,并在适用的情况下尝试使用资源。


R. *_*olt 1

找到了我要找的东西:Netbeans Offers Inspect and Transform

这可用于通过更改配置来转换完整的代码库(或其部分)。

它是这样工作的:

  1. 选择您的项目
  2. 点击Refactor菜单
  3. 单击Inspect and Transform菜单项
  4. 使用按钮选择configuration并配置它Manage
  5. 选择您想要的转换(例如Can Use DiamondJoin catch sections using multicatchunnecessary boxing等)
  6. 点击Inspect
  7. 查看提议的重构建议并单击Do Refactoring

您的完整代码库已重构并使用您选择的新功能和新习惯用法。

IntelliJ IDEA也有类似的功能。参见Analyze>Inspect Code ...

Eclipseclean up中,这在code style(配置)或(菜单)中调用source