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

时间:2015-11-10 20:25:03

标签: java netbeans java-8 jdk1.5

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

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

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

3 个答案:

答案 0 :(得分:4)

您的代码与Java 8不兼容的可能性很小,因为Java已经取得了很大的进步,以确保向后兼容所有以前的版本。

您可能会遇到的问题更深层次,可能是多年来发生变化的馆藏或方法的实施。

如果您没有涵盖代码关键路径的测试套件,从那里开始。您需要该测试套件以确保迁移没有&#39可怕地破坏了什么。

接下来,请仔细阅读兼容性指南for Java 1.7Java 1.8,并确保您特别使用的内容不受这些更改的影响。

最后,可以解决代码清理工作,但现在不应该解决 。您唯一需要关注的是让平台在新版本的Java上运行。当你在代码库中工作时,要训练自己和团队使用更新的Java习语,例如钻石符号,并在适用的情况下尝试使用资源。

答案 1 :(得分:1)

不幸的是,没有什么神奇的方法可以实现你的要求,但是这里有一些指针可以让你更容易将代码迁移到JDK 1.7(注意JDK 1.8已经出现一段时间了,并且1.7已经不在Oracle的正式支持下了:

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

  • 在Eclipse中使用JDK编译器级别1.7构建项目; Eclipse提供的警告比命令行编译器

  • 在控制台上打印的警告更加用户友好
  • 理论上,JDK 1.7向后兼容1.5。唯一的例外是assert和enum关键字。如果您将这些单词用作用户定义的类型/方法名称,则会出现编译错误。所以在大多数情况下,你可以直接听到警告。如果推动推动,你可以选择忽略其中许多警告(当然,只有你必须这样做)

答案 2 :(得分:1)

找到我要找的东西: Netbeans 提供Inspect and Transform

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

这是它的工作原理:

  1. 选择您的项目
  2. 点击Refactor菜单
  3. 点击Inspect and Transform菜单项
  4. 选择configuration并使用Manage按钮
  5. 对其进行配置
  6. 选择所需的转化(例如Can Use DiamondJoin catch sections using multicatchunnecessary boxing等。)
  7. 点击Inspect
  8. 查看提议的重构建议,然后点击Do Refactoring
  9. 您的完整代码库已重构,并使用您选择的新功能和新的习惯用法。

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

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