gpt4 book ai didi

java - 如何检查 Maven 项目中的项目边界访问

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:19:56 25 4
gpt4 key购买 nike

我有一组 Maven 项目,我想定义访问规则。
例如,项目 Database 和 Cache 只能由项目 DataLayer 访问,而不能从项目 UiLayer 访问。我说的是 maven 项目,但包级访问验证也可能有效,只要它易于集成到 maven 项目中即可。

我看过Macker ,它有一组不错的特性,例如访问控制 b/w java 包、样式检查等,但一直很难将其绑定(bind)到一组 maven 项目中。

macker-maven-plugin ,它仍在开发中,我已经能够让它为我工作,但我担心它不会很好地为我服务。
此插件对所有项目的类运行验证。
这意味着从现在开始,我必须让 macker-rules.xml 在每个 Maven 项目中定义访问规则,以确保规则不被破坏。这看起来像是一场维护噩梦。

所以 - 我是否错过了使用 macker-maven-plugin 的东西?也许我没有正确使用它。

我没有使用 JDepend 的经验,但从简短的阅读来看,它看起来像是 macker 的精简版。有一个 jDepend maven plugin ,但它的功能只是生成有关使用情况和统计​​信息的报告,但我真正需要的是其他东西,如果构建失败则访问检查失败。

有人可以为 Maven 项目的项目访问检查或包访问检查提出更好的替代方案吗?

谢谢

最佳答案

我认为您正在寻找来自 maven-enforcer-plugin 的禁止依赖项.

<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>enforce-banned-dependencies</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<bannedDependencies>
<excludes>
<exclude>org.apache.maven</exclude>
<exclude>org.apache.maven:badArtifact</exclude>
<exclude>*:badArtifact</exclude>
</excludes>
<includes>
<!--only 1.0 of badArtifact is allowed-->
<include>org.apache.maven:badArtifact:1.0</include>
</includes>
</bannedDependencies>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
</plugins>

关于java - 如何检查 Maven 项目中的项目边界访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2005105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com