我有三个 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
阶段相关
现在考虑您有一个插件想要在所有项目中作为链执行,您必须 create a separate build profile并在验证阶段后绑定(bind)您的插件执行
并调用mvn validate
,因此它的生命周期将只进入一个阶段(即验证),并且它将像链一样调用您的插件
关于java - Maven 插件在依赖链开始处执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24764676/