2010-11-24 18 views
1

Actuellement j'essaye de faire la tâche de construction de maven pour le projet basé sur axis2.
Dans mon pom.xml j'ai défini le fichier jar de dépendance. et je veux que quand la guerre se construit, le pot sera déplacé vers un autre répertoire: pas dans war/web-inf/lib mais à war/web-inf/servicejarsMaven: place le jar dépendant dans le dossier de guerre différent au lieu de war/web-inf/lib

J'ai regardé par des questions semblables sur stackoverflow mais ils n'ont pas aidé.

<dependencies> 
     <dependency> 
      <groupId>mycompany</groupId> 
      <artifactId>MyService</artifactId> 
      <!-- didnt work for me --> 
      <!--<properties>--> 
       <!--<war.target.path>servicejars</war.target.path>--> 
      <!--</properties>--> 
      <version>1.0-SNAPSHOT</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.axis2</groupId> 
      <artifactId>axis2</artifactId> 
      <version>1.5.2</version> 
     </dependency> 
     <!-- etc ... --> 
    </dependencies> 
    <build> 
     <finalName>Axis2</finalName> 
     <plugins> 
      <plugin> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.1</version> 
       <configuration> 
       </configuration> 
       <extensions>true</extensions> 
      </plugin> 
      <!--<plugin> Didn't worked too--> 
       <!--<groupId>org.apache.maven.plugins</groupId>--> 
       <!--<artifactId>maven-dependency-plugin</artifactId>--> 
       <!--<version>2.1</version>--> 
       <!--<executions>--> 
        <!--<execution>--> 
         <!--<id>copydep</id>--> 
         <!--<phase>prepare-package</phase>--> 
         <!--<goals>--> 
          <!--<goal>copy-dependencies</goal>--> 
         <!--</goals>--> 
         <!--<inherited>false</inherited>--> 
         <!--<configuration>--> 
          <!--<includeArtifactIds>MyService</includeArtifactIds>--> 
          <!--<outputDirectory>$project.build.directory/${project.build.finalName}/web-inf/servicejars</outputDirectory>--> 
         <!--</configuration>--> 
        <!--</execution>--> 
       <!--</executions>--> 
      <!--</plugin>--> 
     </plugins> 
    </build> 

Merci d'avance.

+0

'je veux que quand la guerre est en train de se construire, le pot sera déplacé vers un autre répertoire: pas dans war/web-inf/lib mais dans war/web-inf/servicejars. Y a-t-il une raison à cela? Pourquoi ne pas laisser Maven gérer les dépendances? – ant

+0

en fait j'ai besoin de déployer cela en tant que service axis2. si cela peut être fait par un plugin - ce serait mieux. –

Répondre

1

Regardez le Maven assembly plugin. Vous pouvez le faire en utilisant le assembly descriptor file et le format dir. Probablement pas tout à fait l'exemple que vous cherchez, mais un bon endroit pour commencer est par exemple, ils fournissent la documentation du plugin: http://maven.apache.org/plugins/maven-assembly-plugin/examples/single/including-and-excluding-artifacts.html

Et voici un bon lien avec la façon dont le modèle de descripteur d'assemblage ressemble: http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html