Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce (duplicate-java-patch-file-version-validator) on project security-admin- web: Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed.
时间: 2025-07-12 07:48:02 浏览: 4
<think>嗯,用户遇到了Maven构建时Enforcer插件规则失败的问题,特别是关于BannedDependencies的错误,提示commons-logging:commons-logging:jar:1.1.1被禁止使用。我需要先理解这个问题出现的原因。
首先,Maven Enforcer插件的作用是执行项目规则,比如禁止特定的依赖。错误信息显示存在被禁止的依赖项commons-logging的1.1.1版本。这可能是因为项目直接或间接引入了这个依赖,而项目规则不允许使用它。需要找出是哪个依赖引入了这个被禁止的库,然后排除掉它。
接下来,用户可能需要运行mvn dependency:tree命令来查看依赖树,找到commons-logging的来源。在依赖树中,找到对应的依赖项后,可以在pom.xml中对应的依赖下添加<exclusions>标签来排除它。
另外,用户可能需要确认是否需要升级到更高版本的commons-logging,或者是否有替代库可以使用,比如SLF4J。如果确实需要使用该库,可能需要调整Enforcer的规则,将特定版本加入白名单。
此外,用户提供的引用信息显示错误来自BannedDependencies规则,所以解决方案应围绕排除被禁依赖或调整规则展开。需要确保用户正确执行这些步骤,并验证构建是否成功。</think>### 分步解决方案:解决Maven Enforcer插件规则失败问题
#### 1. 理解错误原因
错误提示`Found Banned Dependency: commons-logging:commons-logging:jar:1.1.1`表明项目中引入了被禁止的依赖库[^1]。
**关键操作**: 检查项目的`pom.xml`和父级POM中是否配置了`<bannedDependencies>`规则。
#### 2. 定位依赖来源
使用Maven命令生成依赖树:
```bash
mvn dependency:tree -Dincludes=commons-logging:commons-logging
```
输出示例:
```
[INFO] com.example:demo:jar:1.0
[INFO] \- org.apache.struts:struts-core:jar:2.3.15
[INFO] \- commons-logging:commons-logging:jar:1.1.1
```
此处可发现`struts-core`引入了被禁依赖。
#### 3. 排除问题依赖
在引用该库的`<dependency>`节点添加排除配置:
```xml
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts-core</artifactId>
<version>2.3.15</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
```
#### 4. 验证解决方案
重新执行构建命令:
```bash
mvn clean install
```
若仍有错误,可能需要检查:
1. 多模块项目中其他子模块的依赖
2. 父级POM的依赖管理配置
3. 依赖传递路径是否被其他库二次引入
#### 5. 替代方案(可选)
若必须使用该库,可修改Enforcer规则配置:
```xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<configuration>
<rules>
<bannedDependencies>
<excludes>
<exclude>commons-logging:commons-logging:[1.0,1.1.1)</exclude> <!-- 允许1.1.1版本 -->
</excludes>
</bannedDependencies>
</rules>
</configuration>
</plugin>
```
阅读全文