2016-11-15 31 views
0

我正在嘗試爲多個模塊項目設置maven插件管理。我的項目結構看起來像這樣Maven插件管理多個父項

base_project 
    -- pom.xml 
    -- projectA 
     -- pom.xml 
     -- projectB 
      -- pom.xml 
     -- projectC 
      -- pom.xml 
    -- project D 
     -- pom.xml 

在基礎項目的pom.xml,我在PluginManagement

<pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
</pluginManagement> 

定義的插件,我想了projectA繼承pluginManagement,這樣我可以使用projectB和projectC中的插件。我想要的是,當我建立base_project時,插件只能運行於projectB,projectC和projectD,而不是projectA。 projectA應該繼承base_project的pluginManagement。我嘗試了兩種類型的設置,但沒有運氣

設置1

在此設置下,彈簧引導Maven的插件開不運行時,項目B或項目C得到建立

了projectA的pom.xml貌似

<pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
</pluginManagement> 

而項目B和項目C的pom.xml看起來像

<build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
</build> 

設置2

在此設置下,彈簧引導Maven的插件也有違了projectA。

了projectA pom.xml的樣子

<build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
</build> 

而項目B和項目C的pom.xml看起來像

<build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
</build> 
+0

1-你試圖執行哪個目標? 2-看看你的孩子POM的有效POM,它會顯示你的POM真的看起來像什麼樣[help:effective-pom] –

+0

有效。我們不需要在projectA的pom.xml中定義插件。我們可以直接使用它在兒童絨球。 – krajwade

回答

0

得到它的工作。我們不需要在projectA的pom.xml中定義插件。我們可以直接使用它在兒童絨球。