Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven enforcer从反应堆级运行时出现问题_Java_Maven 3_Microservices_Maven Enforcer Plugin_Maven Reactor - Fatal编程技术网

Java Maven enforcer从反应堆级运行时出现问题

Java Maven enforcer从反应堆级运行时出现问题,java,maven-3,microservices,maven-enforcer-plugin,maven-reactor,Java,Maven 3,Microservices,Maven Enforcer Plugin,Maven Reactor,使用的Maven版本:3.5.2、3.5.3 mvn clean package -pl <root-artifact-id>:<module-name> mvn清洁包-pl: 这是失败的说法 [WARNING] Rule 3: org.apache.maven.plugins.enforcer.ReactorModuleConvergence failed with message: Module parents have been found which

使用的Maven版本:3.5.2、3.5.3

mvn clean package -pl <root-artifact-id>:<module-name>
mvn清洁包-pl:
这是失败的说法

    [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
[警告]规则3:org.apache.maven.plugins.enforcer.ReactorModuleConvergence失败,消息为:
已找到在反应堆中找不到的模块父级。
模块:war:1.0-SNAPSHOT

但是,从模块级运行mvn clean包时工作正常。这是跟踪中唯一导致enforcer无法生成包的警告消息。

这是一个非常古老的报告错误,但似乎没有人对此采取任何措施:

根本原因是它将在-pl参数中传递的项目的artifactid(模块名)与其父级的artifactid(reactor)进行比较。这永远不会是相同的,因此总是会产生这个错误

对我们来说,修复方法是在使用此执行时禁用enforcer插件(其他没有-pl的执行,如“clean install”也可以)

编辑:
另一个选项是使用“.”在生成中指定reactor项目(注意:这也将打包reactor)

尝试包括
--也可以制作
-am
,例如:

mvn -am -pl <root-artifact-id>:<module-name> clean package
mvn-am-pl:干净的包

即使您正在构建的模块不依赖于构建中的另一个模块,这也会触发一个包含给定模块和父POM的反应器构建,然后Enforcer可以在不跳过的情况下验证它们的关系。(在我的例子中与Maven 3.6.2一起使用)。

您能提供enforcer配置xml以及您定义的pom.xml吗?
mnv clean package -pl .,module-name
mvn -am -pl <root-artifact-id>:<module-name> clean package