2012-03-09 34 views
1

在eclipse中我们是否有任何插件/方式在使用某种方法时禁止(显示错误/警告)。在我的代码中,我想要确认System.currentTimeMillis()/ Calendar.getInstance()没有被任何人调用,如果有人试图使用它,eclipse应该显示错误。禁止开发人员在Eclipse中使用某些API

感谢 Ankush

回答

2

你可以写你自己的FindBugs的插件,它依赖于FindBugs的API为您提供关于方法调用的元数据(以字节码中发现的其他操作码中)。你需要明确实现自定义BytecodeScanningDetector如果操作涉及一组被禁止的API(System.currentTimeMillis()Calendar.getInstance())在你的案件的执行,可以验证。

Here's a tutorial让你开始编写一个FindBugs的插件。您可以在Eclipse中使用此插件,但最好在作为构建的一部分的CI服务器中运行它。

您还可能发现其他静态分析工具如PMD可能具有相同的功能,使用自己的API暴露。

另外,如果你只想作为构建的一部分运行这一点,你可以委托这些检查声纳,它允许easy construction of architectural rules like these注意 - 我还没有尝试过这方法,所以我会警告声纳架构约束似乎更适合,当你想禁止整个类的用法,而不是方法的用法。

0

Eclipse是一个IDE。它恰好包含了一个Java编译器,但也有很多其他的Java编译器在Eclipse之外运行。 Eclipse显示Java编译器返回的错误(IDE本身不是提供错误的错误)。

最好的办法是使用Eclipse的搜索项目中引用的能力。这是一个手动过程,但它会找到你想要的大部分参考。当然,如果有人使用反射,所有投注都关闭。

相关问题