我正在寻找一种方法让javac发出代码源警告,可以从6级迁移到7级,这样我就可以让代码处于7级模式了?
答案 0 :(得分:2)
我正在阅读这个问题,“如何检测可以从Java 6范例迁移到Java 7范例的代码”。例子可能是使用钻石算子:
List<Foo> bar = new ArrayList<>(); // instead of new ArrayList<Foo>()
和multicatch:
try { }
catch (FooException | BarException e) { }
/*
Instead of:
catch (FooException e) { }
catch (BarException e) { }
*/
如果是这种情况,源代码样式检查器(例如PMD等)应该能够突出显示这些机会。
例如,NetBeans EasyPMD插件会定期标记这两种特殊情况(以及其他情况,我确定)并提供转换为JDK 7等效的建议。在发现JDK-7之前的代码结构时,会突出显示警告图标,单击该图标会给出JDK-7等效的建议重构。
我想它本身并不是编译过程的一部分(例如,你可以使用Ant自动化它作为构建过程的一部分),但它是下一个最好的东西。
答案 1 :(得分:1)
本文应该对您有所帮助:
http://www.oracle.com/technetwork/java/javase/compatibility-417013.html
但是,不兼容性应该很小。您的第一步应该是使用Java 7编译器编译源代码。
通过这篇文章,我会说语言层面的主要不兼容性是行为与继承异常的区别(列表中的第二项)。其他是图书馆的差异。
答案 2 :(得分:0)
基本上,您可以将Eclipse配置为针对可以使用的特定JDK 7功能发出警告