2014-02-25 5 views
5

Ich versuche, die Overlay-Funktionalität des Maven-War-Plugin zu testen. Grundsätzlich muss ich zwei Kriegsprojekte zusammenführen.Maven 3: Overlay ist keine Abhängigkeit des Projekts

So definiert ich einen Krieg als Abhängigkeit:

<dependency> 
    <groupId>my.group.id</groupId> 
    <artifactId>my-legacy-war-project</artifactId> 
    <version>${project.version}</version> 
    <type>war</type> 
</dependency> 

und konfiguriert dann das Overlay:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <configuration> 
    <overlays> 
     <overlay> 
     <groupId>my.group.id</groupId> 
     <artifactId>my-legacy-war-project</artifactId> 
     <targetPath>legacy</targetPath> 
     </overlay> 
    </overlays> 
    </configuration> 
</plugin> 

Aber Maven versagt, dieses Projekt zu bauen, um diese Abhängigkeit beschweren:

[FEHLER] Fehler beim Ausführen des Ziels org.apache.maven.plugins: maven-war-plugin: 2.3: explodiert (Standard) an Projekt my-Projekt: Overlay [id my.group.id:my-legacy-war-project] ist keine Abhängigkeit des Projekts. -> [Hilfe 1]

Das Overlay soll mit Maven 3.0.5 funktionieren? Warum beschwert sich der Build über eine angegebene Abhängigkeit?

Antwort

9

nicht sicher, warum, aber mit id statt groupId und artifactId in der Auflage gearbeitet:

<configuration> 
    <overlays> 
     <overlay> 
     <id>my-legacy-war-project</id> 
     <targetPath>legacy</targetPath> 
     </overlay> 
    </overlays> 
    </configuration> 
+0

Same here ... Absolut seltsam. – Lawrence

+0

Vielleicht ist das relevant: http://stackoverflow.com/questions/12298178/maven-depend-on-assemed-zip, insbesondere diesen Teil: > Für jemand anderen, was ich vermisst wurde, ist das der Abhängigkeit > muss mit der der Baugruppe übereinstimmen. –

0

Ich hatte das gleiche Problem mit Maven-Krieg-Plugin-Version 2.2 und den Missbrauch von Duplikat-Plugin Erklärung. Nach der Vereinheitlichung und Verwendung des Vorschlags Sergio Michels funktioniert es nun mit der Version 2.3 von maven-war-plugin einwandfrei.

Vor dem Wechsel:

<plugin> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>2.0.2</version> 
      <configuration> 
       <dependentWarExcludes>'**/jdbc.properties,**/hibernate.cfg.xml,**/sql-map-config.xml,**/web.xml,WEB-INF/classes/META-INF/**'</dependentWarExcludes> 
      </configuration> 
</plugin>   
<plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <configuration> 
       <warName>my-snapshot</warName> 
       <overlay> 
        <overlay> 
        <id>my-webapp-common</id> 
        <groupId>xyz.mycompany</groupId> 
        <artifactId>my-webapp-common</artifactId> 
        </overlay> 
       </overlays> 
      </configuration> 
</plugin> 

Nach der Anwendung Änderungen:

  <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>2.3</version> 
      <configuration> 
       <warName>my-snapshot</warName> 
       <overlays> 
       <overlay> 
        <overlay> 
         <id>my-webapp-common</id> 
         <targetPath>legacy</targetPath> 
        </overlay> 
       </overlays> 
       <dependentWarExcludes>'**/jdbc.properties,**/hibernate.cfg.xml,**/sql-map-config.xml,**/web.xml,WEB-INF/classes/META-INF/**'</dependentWarExcludes> 
      </configuration> 
     </plugin>