在Java构建系统中对包依赖性实施限制的可能性有哪些?例如,myapp.server.bl.Customer
不应该允许类引用myapp.client.ui.customlayout
包.我对基于Ant或IDE的解决方案感兴趣.
我想在构建中收到一条错误消息,指出违反了(自定义)程序包依赖关系规则并且构建已中止.我还想在Ant脚本或IDE项目文件之外的列表中维护依赖项,最好是在文本文件中.
(我不知道Maven,但我在这里读到它对模块依赖管理有更好的支持)
我相信Checkstyle有一个检查.它被称为导入控制
您可以配置Eclipse项目以指定访问规则.访问规则可以使用通配符规则指定"禁止","不鼓励"和"可访问"级别.然后,您可以将Discouraged或Forbidden的违规配置在构建期间标记为警告或错误.
关于这个想法的一篇旧文章(细节可能已经过时):
http://www.eclipsezone.com/eclipse/forums/t53736.html
如果你正在使用Eclipse(或OSGi)插件,那么插件/模块的"公共"部分是明确定义的,这是模型的一部分.