[英]Maven plugin execution at begining of dependency chain
我有三个Maven项目:A-> B->C。为了更好地说明情况,我显示了伪pom.xml:
一个pom.xml
<groupId>X</groupId>
<artifactId>A</artifactId>
<version>1</version>
B pom.xml
<groupId>X</groupId>
<artifactId>B</artifactId>
<version>1.5</version>
<dependency>
<groupId>X</groupId>
<artifactId>A</artifactId>
<version>1</version>
</dependency>
C pom.xml
<groupId>X</groupId>
<artifactId>C</artifactId>
<version>2.5</version>
<dependency>
<groupId>X</groupId>
<artifactId>B</artifactId>
<version>1.5</version>
</dependency>
我想只在A项目中执行maven插件,然后在其他(如链)中自动执行(在B和C中),当我在B中执行时,在C中也将自动执行。 问题是在A项目中没有关于B的信息(我认为)。 改变pom的结构就是四肢。
你知道怎么做吗? 我将不胜感激。
Maven插件的执行与Maven构建生命周期的特定阶段相关,例如,默认情况下,surefire插件与test
阶段相关联
现在考虑您有一个要在所有项目中作为一个链执行的插件,您将必须创建一个单独的构建配置文件,并在验证阶段之后将插件的执行与工作挂钩
并调用mvn validate
这样它的生命周期将进入一个阶段(即validate),并且它将像链一样调用您的插件
解决此问题的一种方法是(如果尚未尝试过):使用以下内容保留root pom.xml:... ...
<packaging>pom</packaging>
<modules>
<module>A</module>
<module>B</module>
<module>C</module>
</modules>
....
...
这将像链条一样“起作用”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.