限制Java包之间的依赖关系

Kar*_*arl 9 java build-process dependency-management

在Java构建系统中对包依赖性实施限制的可能性有哪些?例如,myapp.server.bl.Customer不应该允许类引用myapp.client.ui.customlayout包.我对基于Ant或IDE的解决方案感兴趣.

我想在构建中收到一条错误消息,指出违反了(自定义)程序包依赖关系规则并且构建已中止.我还想在Ant脚本或IDE项目文件之外的列表中维护依赖项,最好是在文本文件中.

(我不知道Maven,但我在这里读到它对模块依赖管理有更好的支持)

dav*_*000 7

我相信Checkstyle有一个检查.它被称为导入控制


Ale*_*ler 6

您可以配置Eclipse项目以指定访问规则.访问规则可以使用通配符规则指定"禁止","不鼓励"和"可访问"级别.然后,您可以将Discouraged或Forbidden的违规配置在构建期间标记为警告或错误.

关于这个想法的一篇旧文章(细节可能已经过时):

http://www.eclipsezone.com/eclipse/forums/t53736.html

如果你正在使用Eclipse(或OSGi)插件,那么插件/模块的"公共"部分是明确定义的,这是模型的一部分.