Announcement

Collapse
No announcement yet.

Probleme mit Vererbung bei Maven

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme mit Vererbung bei Maven

    Hallo,

    Meine Frage bezieht sich auf die Vererbung von Konfigurationen des Cobertura Plugins auf Subprojekte.

    ich hab folgende Projektstruktur:
    Parent
    |---modul 1
    |------------pom.xml
    |---modul 2
    |------------pom.xml
    |---pom.xml

    Ich würde nun gerne nur in der ParentPom eine Konfiguration des Cobertura Plugins vornehmen (Reports als XML erstellen) und diese dann auf die Kinder vererben. Momentan versuche ich es folgendermaßen:
    Code:
    <build>
         <plugins>
              <plugin>
    		<groupId>org.codehaus.mojo</groupId>
    		<artifactId>cobertura-maven-plugin</artifactId>
    		<version>2.4</version>
    		<inherited>true</inherited>
    		<configuration>
    			<format>xml</format>
    		</configuration>
              </plugin>
          </plugins>
    </build>
    <reporting>
          <plugins>
    	    <plugin>
    		<groupId>org.codehaus.mojo</groupId>
    		<artifactId>cobertura-maven-plugin</artifactId>
    		<version>2.4</version>
    	     </plugin>
          </plugins>
    </reporting>
    Diese Konfiguration liefert allerdings nicht das gewünscht Ergebnis. Ich schaffe es erst xml-Reports zu erzeugen, wenn ich Cobertura mit der Konfiguration auch in den ChildPom's vermerke. Dies würde ich gerne vermeiden. Gibt es da eventuell eine Möglichkeit?

    Vielen Dank schon einmal

  • #2
    pluginManagement

    Hallo kidow,

    im parent pom musst du das Element "pluginManagement" eintragen. In den child poms kannst Du dann auf diese Konfiguration referenzieren. Infos gibt's hier: http://maven.apache.org/pom.html#Plugin_Management

    Gruß ngomo
    http://www.winfonet.eu

    Comment


    • #3
      Vielen Dank schonmal für die Antwort.

      Ich weiß habs jetzt bei meinem Projekt so angewandt wie in dem Link

      ParentPom
      Code:
       <build>
      <pluginManagement>
            <plugins>
              <plugin>
      			<groupId>org.codehaus.mojo</groupId>
      			<artifactId>cobertura-maven-plugin</artifactId>
      			<configuration>
      				<format>xml</format>
      			</configuration>
      	   </plugin>
      	 </plugins>
      </pluginManagement>
      </build>
      ChildPom
      Code:
      <build>	
           <plugins>
              <plugin>
      		<groupId>org.codehaus.mojo</groupId>
      		<artifactId>cobertura-maven-plugin</artifactId>
      	</plugin>
          </plugins>
       </build>
      Leider funktioniert das mit der Vererbung der Konfiguration noch nicht so ganz. Ich starte Maven mit
      Code:
      mvn cobertura:cobertura
      Ist das falsch?

      Comment


      • #4
        reporting Section nutzen

        Hallo kidow,

        in Deinem ersten Post hattest Du die Konfiguration noch unter der reporting-Section, in Deinem zweiten dann unter der build-Section. Laut der Cobertura-Seite (http://mojo.codehaus.org/cobertura-m...gin/usage.html) gehört es in die reporting-Section. Probier das nochmal aus.

        Gruß ngomo
        http://www.winfonet.eu

        Comment


        • #5
          Vielen Dank für deine Antwort. Hatte ich auch schon versucht funktioniert leider auch nicht. Hab jetzt Cobertura im PluginManagement des ParentPoms und die Konfiguration im Reporting der ChildPoms. Funktioniert so ganz gut!

          Nur schade ich dachte vielleicht gibt es eine Möglichkeit, das Erwähnen der Plugins in den ChildPoms generell zu unterlassen. So funtkionierts auf jeden fall auch. Danke für die Hilfe

          Comment

          Working...
          X