Vis*_*ena 6 java maven-3 maven-enforcer-plugin maven-reactor microservices
使用的Maven版本:3.5.2、3.5.3
mvn clean package -pl <root-artifact-id>:<module-name>
Run Code Online (Sandbox Code Playgroud)
失败说
[WARNING] Rule 3: org.apache.maven.plugins.enforcer.ReactorModuleConvergence failed with message:
Module parents have been found which could not be found in the reactor.
module: <artifact:id>:<module-name>:war:1.0-SNAPSHOT
Run Code Online (Sandbox Code Playgroud)
但是从模块级别运行 mvn clean 包时工作正常。这是跟踪中导致执行器无法构建包的唯一警告消息。
这是一个非常古老的报告错误,但似乎没有人对此采取任何措施:https ://issues.apache.org/jira/browse/MENFORCER-189
根本原因是它将 -pl 参数中传递的项目的artifactid(模块名称)与其父项目的artifactid(反应器)进行比较。这永远不会相同,因此总是会出现此错误。
对于我们来说,修复方法是在使用此执行时禁用强制插件(其他没有 -pl 的执行,如“全新安装”也可以)
mvn clean install
mvn package -pl module-name -Denforcer.skip=true
Run Code Online (Sandbox Code Playgroud)
编辑:
另一个选项是使用“.”在构建中指定反应器项目 (注意:这也会打包反应器)
mnv clean package -pl .,module-name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3055 次 |
| 最近记录: |