簡體   English   中英

僅在父級中運行maven插件

[英]Running a maven plugin only in the parent

我已經創建了一個maven插件來啟動,清理和停止數據庫。 我的項目包含一個包含4個模塊的pom文件:

<modules>
    <module>infrastructure</module>
    <module>domain</module>
    <module>application</module>
    <module>presentation</module>
</modules>

該插件僅在此pom中指定,而不是在模塊的pom中指定。 當我轉到cmd以啟動數據庫時:

mvn hsqldb:startdb

Maven嘗試為每個pom文件創建一個數據庫。 它實際上啟動了5個數據庫(一個用於父pom,一個用於每個模塊)。 但是,我只想要一個(來自父pom)。 在我的父pom文件中,插件聲明如下:

<plugin>
    <groupId>sample.plugin</groupId>
    <artifactId>hsqldb-maven-plugin</artifactId>
    <version>1.0-SNAPSHOT</version>
    <inherited>false</inherited>
    <dependencies>
        <dependency>
            ...
        </dependency>
    </dependencies>
    <executions>
        ...
    </executions>
    <configuration>
        ...
    </configuration>
</plugin>

我的問題的解決方案?

親切的問候,

WALLE

兩種方式:

  • 在命令行上,執行mvn hsqldb:startdb -N

    -N--non-recursive
    不要遞歸到子項目中

    來源 )或

  • @aggregator注釋你的插件

    標記此Mojo以多模塊方式運行它,即使用列為模塊的項目集合來構建構建。

    來源

    雖然沒有明確說明,但這意味着您的插件負責構建子模塊,即子模塊不會自動構建。

無論哪種方式,它只會構建頂級項目而不是下降到模塊中。 我無法知道您可以在pom中配置它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM