2009-06-09 8 views
5

Bonjour J'essaye de créer un descripteur personnalisé ref dans mon parent pom qui conditionne toutes les dépendances avec les sources. Je suis le assembly.xml clouées assez bien, mais quand je l'ajoute à mon ensemble de base POM: assemblage échoue comme ceci:Maven assembly: assembly

[INFO] [assembly:assembly] 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] Error reading assemblies: No assembly descriptors found. 

[INFO] ------------------------------------------------------------------------ 
[INFO] Trace 
org.apache.maven.lifecycle.LifecycleExecutionException: Error reading assemblies: No assembly descriptors found. 

Mais assemblage: simple semble fonctionner correctement. J'ai essayé d'ajouter le ref de jar-with-dependencies dans le POM, mais je ne suis pas sûr que ce soit possible.

Voici ce que j'ai dans mon pom de base:

<plugin> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <version>2.2-beta-3</version> 
    <dependencies> 
     <dependency> 
      <groupId>mycompany.jar.assembly</groupId> 
      <artifactId>jar-with-dependencies-and-sources-test</artifactId> 
      <version>1.0.0-SNAPSHOT</version> 
     </dependency> 
    </dependencies> 
    <executions> 
     <execution> 
      <id>make-assembly</id> 
      <phase>package</phase> 
      <goals> 
       <goal>single</goal> 
      </goals> 
      <configuration> 
       <descriptors> 
        <descriptor>assembly.xml</descriptor> 
       </descriptors> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

Est-ce que quelqu'un sait là-bas qui pour obtenir que cela fonctionne quand j'invoque mvn assembly: assemblage de la ligne de commande?

Merci d'avance.

+0

Que produit mvn -X? –

Répondre

7

Je ne suis pas sûr, mais j'ai des doutes. Vous définissez assembly: single dans le cadre de la phase package et identifiez le descripteur dans l'élément d'exécution. Cela peut signifier que le plugin ne sait pas où chercher le descripteur lorsque vous exécutez assembly: assembly. Essayez de copier votre élément <configuration> à l'extérieur de l'élément <executions>.

Un de mes poms ressemble à ceci, et j'utiliser le montage: montage de tout le temps:

<plugin> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <version>2.1</version> 
    <configuration> 
    <finalName>myJar</finalName> 
    <descriptors> 
     <descriptor>src/main/config/descriptor.xml</descriptor> 
    </descriptors> 
    <archive> 
     <manifest> 
     <mainClass>org.foo.Bar</mainClass> 
     </manifest> 
    </archive> 
    </configuration> 
</plugin> 

Remarque src/main/config n'est pas un chemin d'accès standard Maven, mais je n'ai défini aucune manipulation particulière de celui-ci .

+1

Cela fait! Merci beaucoup :) – javamonkey79

+0

La raison pour laquelle l'élément est à l'intérieur de l'élément est parce que la page du plugin le fait comme ça. Voir: http://maven.apache.org/plugins/maven-assembly-plugin/examples/sharing-descriptors.html. Je me demande si cette page est obsolète. – aberrant80

0

Où avez-vous votre assembly.xml? Le répertoire de travail de Maven est le répertoire d'un module (celui qui contient pom.xml). Si votre assembly.xml n'est pas dans le même répertoire que ce fichier pom.xml, vous devez spécifier le chemin

+0

assembly.xml est dans src/main/resources/assemblies de: mycompany.jar.assembly jar-avec-dépendances-et-sources-test jar – javamonkey79

Questions connexes