6

我们正在尝试将我们非常大的代码库从 Guava 11 迁移到 Guava 14,并希望捕获已删除或已弃用的 API 的使用情况。FindBugs 可以执行这样的检查吗?如果是这样,怎么做?

4

3 回答 3

4

一种解决方案是仅使用 Oracle 的 Java 编译器javac来执行此操作。

如果使用 API 中删除的方法会导致编译器错误,因此应该可以通过编译代码找到它们。

可以使用 javac-deprecation选项找到不推荐使用的方法。更多信息:http -deprecation: //docs.oracle.com/javase/6/docs/technotes/tools/windows/javac.html

于 2013-03-13T21:55:07.770 回答
1

我认为javac不会涉及的一个方面是您是否无法更改 3rd 方代码以添加@Deprecated注释。如果你只是想避免一个没有被标记为弃用的方法,你可以使用我为 FindBugs 写的这个插件:

https://github.com/Grundlefleck/FindBugs4Deprecating3rdParty

文档很少,因此您可能需要自己探索一下。它允许配置方法和类以避免在属性文件中。我用它来弃用org.junit.Assert.assertThat.

于 2014-01-29T13:54:54.000 回答
1

您也可以使用 PMD Sourceforge来完成此任务。有一些规则可以让您找到不推荐使用的方法

于 2013-03-13T22:03:08.723 回答