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



将旧jdk(1.5)的Java代码迁移到更新的Java版本(1.8)的最佳方法是什么。我们有一个很大的Java jdk 5代码库,希望迁移到jdk 8。

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

我们使用的是Netbeans IDE。有没有我们可以使用的插件,或者有迁移脚本?

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

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

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

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

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

不幸的是,没有神奇的方法可以实现您的要求,但这里有一些指针可以让您更容易地将代码迁移到JDK 1.7(请注意,JDK 1.8已经发布了一段时间,Oracle已经正式停止支持1.7):

  • 在Eclipse中使用checkstyle或类似的插件来查找问题

  • 在Eclipse中使用JDK编译器1.7级构建您的项目;Eclipse给出的警告比命令行编译器在控制台上打印的警告对用户友好得多

  • 理论上,JDK 1.7与1.5向后兼容。唯一的例外是断言和枚举关键字。如果将这些单词用作用户定义的类型/方法名称,则会出现编译错误。因此,在大多数情况下,你可以直接得到警告。如果事态发展到紧要关头,你可以选择忽略其中的许多警告(当然,只有在必须的情况下)

找到了我想要的:Netbeans提供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 ...

Eclipse中,这在code style(配置)或source(菜单)中被称为clean up

相关内容

  • 没有找到相关文章

最新更新