2016-11-15 2 views
0

Ich versuche, Maven Plugin-Management für ein Multi-Modul-Projekt einzurichten. Meine Projektstruktur sieht so etwas wie dieseMaven pluginManagement mehrere Elternteile

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

Im pom.xml des Basisprojektes, ich ein Plugin in PluginManagement

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

Ich mag projectA das pluginManagement erbt definiert haben, so dass ich verwenden können, das Plugin in ProjektB und ProjektC. Ich möchte, dass wenn ich base_project baue, das Plugin nur für projectB, projectC und projectD und nicht für projectA laufen soll. projectA sollte nur das pluginManagement von base_project erben. Ich habe versucht, zwei Arten von Setup aber kein Glück

Setup 1

Mit dieser Einrichtung Feder-boot-Maven-Plugin laufen does't wenn ProjectB oder ProjectC bauen bekommt

projectA pom.xml sieht aus wie

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

während ProjectB und ProjectC pom.xml wie

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

Setup 2

Mit dieser Einrichtung Feder-boot-Maven-Plugin läuft auch gegen projectA.

projectA pom.xml sieht aus wie

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

während ProjectB und ProjectC pom.xml sieht aus wie

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

1- Welches Ziel versuchen Sie auszuführen? 2 - werfen Sie einen Blick auf die effektive Pom Ihres Kindes Pom es wird zeigen, wie Ihre Pom wirklich aussehen [Hilfe: effektive Pom] –

+0

Hat es funktioniert. Wir müssen das Plugin nicht in pom.xml von ProjectA definieren. Wir können es direkt in Kinderpom verwenden. – krajwade

Antwort

0

Verstanden gearbeitet. Wir müssen das Plugin nicht in pom.xml von ProjectA definieren. Wir können es direkt in Kinderpom verwenden.

Verwandte Themen