是否有maven插件使mvn verify
的aggregating project失败时,其子模块或其传递依赖性依赖于它们不应该的东西。
我希望能够限制使用公共API来表达像
这样的政策我意识到有很多方法可以使用反射和反序列化来解决这些需求。我的最终目标是允许系统架构师和技术导致制定像
这样的政策系统架构师会对信任应用程序开发人员进行处理,但我们希望使用有用的错误消息标记天真的策略违规,并且我们希望破解策略的开发人员无法合理地拒绝他们这样做。
反思和反序列化这样的技巧属于那种不可理解的黑客行为。
这有点像Jigsaw的一些目标,其中模块(包组)可以声明其公共接口仅限于某些包,但拼图不是广泛可用的。
这个问题与"Make Java methods visible to only specific classes"不同,因为我不是在Java语言中询问如何做到这一点。
答案 0 :(得分:3)
您可以使用checkstyle执行此类检查,对于您可以使用的用例import control:
根据以下答案,这似乎并不支持完全合格的导入:
Checkstyle rule to limit interactions between root packages (with ImportControl?)
How to prevent fully qualified names in Java code
第二个答案建议您可以通过使用其他工具PMD禁止完全合格的导入来解决这个问题。
对于JSP,这些通常是在servlet容器中编译的,但是有一种方法可以使用maven plugin预编译它们。