Mon projet utilise plusieurs assemblages, donc je ne m'intéresse qu'aux assemblages. Lors de l'exécution de mvn install en dehors des assemblys, j'obtiens le package .jar par défaut. Comment puis-je éviter cela?Maven-2: éviter l'emballage par défaut?
J'ai un fichier pom.xml similaire à celui que vous avez fourni. sur l'exécution mvn install, je reçois App1.jar, App2.jar et pot instantané contenant tout le contenu
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-2</version>
<executions>
<execution>
<id>assemblyone</id>
<phase>compile</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>App1</finalName>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>${basedir}/src/main/resources/assemblies/report.xml</descriptor>
</descriptors>
</configuration>
</execution>
<execution>
<id>assemblytwo</id>
<phase>compile</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>App2</finalName>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>${basedir}/src/main/resources/assemblies/src.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
Comment puis-je éviter ce cliché pot (pas sûr du terme exact) et faire en sorte que seulement les assemblées sont créées?
Salut Merci pour les entrées.je ne pense pas que je serais en mesure de créer des modules séparés disent App1, App2..bcoz mes pots d'assemblage à savoir App1.jar, App2.jar ont des fichiers communs à inclure. Si je spécifie les paquets comme 'pom', le fichier MyApp-1.0.0 ne sera pas créé? – user170114
Eh bien, ces fichiers communs seraient placés dans un troisième emplacement, soit dans leur propre assemblage qui est décompressé dans chaque module, soit (moins propre) dans le module parent et référencé par chaque enfant. Marquer votre module parent comme un "pom" ne créera pas le JAR, cependant, vous violeriez toujours les principes de Maven sans faire ce que je suggère. Recherche sur "Maven: The Definitive Guide" - un très beau livre gratuit sur Maven. – SingleShot
Merci .. bien je pense que je dois aller pour l'option de mettre ces paquets communs dans le parent et l'accès de l'enfant. Dans ce cas, où dois-je conserver mes descripteurs d'assembly? Sous assemblys parent/enfant? Comment pointer vers les dossiers de parent ..je ne peux pas utiliser -project.build.outputDirectory non? – user170114