2016-11-15 61 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中定义插件。我们可以直接使用它在儿童绒球。