plugin - El ensamblaje de Maven incluye el tarro del proyecto actual en la cremallera final/tar
maven-jar-plugin (1)
En <dependencySet>
puede excluir el <useProjectArtifact>false</useProjectArtifact>
proyecto actual diciendo <useProjectArtifact>false</useProjectArtifact>
, pero es verdad por defecto, por lo que debería funcionar.
A partir de la advertencia, creo que se olvidó de hacer mvn package
, por lo que el mvn package
jar no está disponible en el directorio de destino.
O haga mvn package assembly:single
in one command.
Alternativamente, agregue maven-assembly-plugin en su pom y ajústelo a la fase ''paquete'' para que se active automáticamente en el mvn package
:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>tar-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>etc/assembly.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
Estoy utilizando el complemento de ensamblaje de Maven para generar un archivo .tar
que contiene varios otros archivos, archivos dependientes. Todos los archivos se copian correctamente en las carpetas indicadas en el archivo de configuración assembly.xml
.
Me gustaría incluir el archivo original del proyecto también en el archivo tar final, pero no verlo actualmente en él.
Recibo el siguiente mensaje cuando emito assembly:single
objetivo:
[ADVERTENCIA] No se puede incluir el artefacto del proyecto: com.my.newpkg.project1: jar: 0.0.3.0; No tiene un archivo o directorio asociado.
Después de leer SO, parece que agregar las siguientes configuraciones a pom.xml
debería agregar el frasco, pero aún no obtiene el resultado esperado.
config en pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<mainClass>com.my.newpkg.project1.MainClass</mainClass>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
</archive>
</configuration>
</plugin>
Fragmento de asamblea.xml
<formats>
<format>dir</format>
<format>tar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<outputDirectory>lib</outputDirectory>
<excludes>
<exclude>junit:junit</exclude>
</excludes>
<fileMode>0755</fileMode>
</dependencySet>
</dependencySets>
Entonces, ¿las configuraciones aún no son correctas? o me estoy perdiendo algo aquí?
¿Cómo podemos agregar el tarro del proyecto actual en el tar final?