2012-06-07 7 views
21

Ich habe ein Maven-Projekt, das Wsgen verwendet, um Xsd-Dateien aus den kompilierten Java-Klassen zu generieren.
Das Problem ist, dass ich die generierten Xsd-Dateien zum Jar als Ressourcen hinzufügen möchte.
Da die Ressourcenphase vor der "Prozessklassen" -Phase läuft, kann ich sie nicht hinzufügen.
Gibt es eine Möglichkeit, nach der Phase "process-classes" zusätzliche Ressourcen hinzuzufügen?maven: Wie Ressourcen hinzugefügt werden, die nach der Kompilierungsphase generiert werden

Antwort

33

Ich würde vorschlagen, das Ausgabeverzeichnis für die XSD-Dateien in target/classes zu definieren (möglicherweise mit einem zusätzlichen Unterordner, der später während der Paketphase in den Jar gepackt wird. Dies kann mit der maven-resources-plugin erreicht werden.

<project> 
    ... 
    <build> 
    <plugins> 
     <plugin> 
     <artifactId>maven-resources-plugin</artifactId> 
     <version>3.0.2</version> 
     <executions> 
      <execution> 
      <id>copy-resources</id> 
      <phase>process-classes</phase> 
      <goals> 
       <goal>copy-resources</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>${project.build.outputDirectory}</outputDirectory> 
       <resources>   
       <resource> 
        <directory>${basedir}/target/xsd-out</directory> 
        <filtering>false</filtering> 
       </resource> 
       </resources>    
      </configuration>    
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    ... 
    </build> 
    ... 
</project> 

Sie müssen darauf achten, dass die Ressourcen-Plugin nach dem Plugin positioniert ist, die den wsgen Teil nennen verwendet wird. Sie können auch die prepare-Paket Phase statt sicher richtig sein werden die Ressourcen vornehmen können verpackt

+0

Arbeitete wie ein Charme! Danke a Los –

+0

und wie das zu scannende Paket angeben? nicht alle Pakete – Youssef

+0

Das funktionierte nur, nachdem ich 'configuration' von' execution' nach 'plugin' verschoben habe. Maven xsd erlaubt beides, aber dieses Plugin scheint nicht zu –

Verwandte Themen