确保Java类不从某些包导入

时间:2014-12-28 20:52:01

标签: java eclipse gradle checkstyle findbugs

我有这样的包裹:

com.example.pure
com.example.pure.internal
com.example.other

我想确保com.example.pure包中的类与com.example.pure.internalcom.example.other包中的类没有任何依赖关系。

显然,我可以手动浏览每个文件并关注导入,但我想自动化它。我可以编写一些代码来实现它,但似乎它可能是其他人已经解决的问题。

我使用Eclipse,因此我可以配置为强制依赖性指示的Eclipse插件绝对是理想的,但命令行实用程序或Gradle插件也会很棒。

2 个答案:

答案 0 :(得分:2)

在Apache Lucene中,他们使用this handy tool called fobidden-apis检查某些api是否未被使用。这是一个Ant任务,所以你可以从eclipse里面轻松调用它

答案 1 :(得分:0)

如果成功编译,你可以单独编译com.example.pure然后它不依赖于任何其他包:

-cp path or -classpath path

javac -d bin -cp bin src\...\someclass.java