我们在eclipse中是否有任何插件/方式禁止(显示错误/警告)同时使用某种方法。在我的代码中,我想确认System.currentTimeMillis()/ Calendar.getInstance()没有被任何人调用,如果有人试图使用它,eclipse应该显示错误。
由于 安库什
答案 0 :(得分:2)
您可以编写自己的FindBugs插件,该插件依赖于FindBugs API,为您提供有关方法调用的元数据(以及字节码中的其他操作码)。您需要专门实现一个自定义BytecodeScanningDetector
,可以验证操作是否涉及在您的情况下执行一组禁用的API(System.currentTimeMillis()
和Calendar.getInstance()
)。
Here's a tutorial让你开始编写FindBugs插件。您可以在Eclipse中使用此插件,但最好在CI服务器中将其作为构建的一部分运行。
您可能还会发现其他静态分析工具(如PMD)可能具有相同的功能,使用自己的API公开。
此外,如果您只想将其作为构建的一部分运行,则可以将这些检查委派给Sonar,后者允许easy construction of architectural rules like these。 注意 - 我没有在方法上尝试这个,所以我警告说,当你想要禁止整个类使用而不是方法使用时,Sonar架构约束似乎更适合。
答案 1 :(得分:0)
Eclipse是一个IDE。它碰巧包含一个Java编译器,但是还有许多其他Java编译器也在Eclipse之外运行。 Eclipse显示了Java编译器返回的错误(IDE本身不是出现错误的错误)。
最好的办法是使用Eclipse在项目中搜索引用的能力。这是一个手动过程,但它会找到你想要的大多数参考。当然如果有人使用反射,所有的赌注都会被取消。