繁体   English   中英

在依赖链开始时执行Maven插件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM