簡體   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