今天测试环境发布服务的时候,Jenkins编译报错
[INFO] --- maven-enforcer-plugin:3.0.0-M3:enforce (enforce-rules) @ dealapi ---
[WARNING] Rule 1: org.apache.maven.plugins.enforcer.BannedDependencies failed with message:
Found Banned Dependency: ch.qos.logback:logback-classic:jar:1.2.3
Found Banned Dependency: ch.qos.logback:logback-core:jar:1.2.3
Use 'mvn dependency:tree' to locate the source of the banned dependencies.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.126 s
[INFO] Finished at: 2020-07-06T20:21:20+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce (enforce-rules) on project cuxiaoapi: Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed. -> [Help 1]
之前没用过maven-enforcer-plugin,因为最近的修改只有引入了一个其他组的服务的SNAPSHOT包,以为是包冲突了,而且发现提示的这两个被禁止的包都是SNAPSHOT包引入的,因此第一时间先进行排除,使编译能通过,客户端可以正常测试,搞定以后,慢慢开始分析问题, https://my.oschina.net/liuyon...
这篇文章讲的很清楚了,涉及两个知识点,第一,maven-enforcer-plugin插件,第二,日志包引入,由于这两个知识点之前都不知道,所以碰到问题就不知所措了,明白问题后,进行验证,发现在maven项目的parent项目中
<plugin>
<artifactId>maven-enforcer-plugin</artifactId> <version>${maven-enforcer-plugin.version}</version> <executions> <execution> <id>enforce-rules</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <banDuplicatePomDependencyVersions /> <bannedDependencies> <excludes> <exclude>ch.qos.logback:*:*</exclude> <exclude>com.alibaba:fastjson:(,1.2.70)</exclude>