En Java ¿Cómo crear un archivo .jar / .tar.gz / .zip usando maven-assembly-plugin? Tutorial de proyectos de Maven y Enterprise

Publicado: 2020-10-07
todo-en-uno-consejos-y-tutoriales-sobre-apache-maven-build-java-enterprise-project-using-maven

Maven es bastante sorprendente. Con tantos complementos, es una de las Best Java Build tool en el mercado en este momento.

Lo uso en todos mis proyectos y depende en gran medida de él. Las posibilidades de construcción son infinitas. Hace algún tiempo, escribí diferentes tutoriales sobre muchos otros complementos de maven y en este maven-assembly-plugin .

Maven Assembly Plugin se basa en los descriptores de ensamblaje proporcionados para dictar su ejecución.

Aquí hay una lista de tutoriales anteriores de complementos de Maven:

  • maven-war-plugin : crea un archivo .war del proyecto.
  • maven-resources-plugin , maven-dependency-plugin & maven-jar-plugin – ¿Crear un proyecto Java que incluya todas las dependencias?
  • maven-shade-plugin : cree un .jar ejecutable basado en Java+Spring con todas las dependencias, propiedades y recursos requeridos.

¿Tiene alguna de las siguientes preguntas? Este tutorial también funcionará para eso.

  • ¿Cómo crear un archivo jar con Maven?
  • Cómo usar maven para crear un archivo jar con dependencias
  • Usa pom.xml para crear un jar
  • La mejor manera de crear maven jar sin dependencias
  • Cómo crear maven jar incluyendo dependencias

Comencemos con maven-assembly-plugin

Paso 1

Crear proyecto New Maven en entorno Eclipse. Nómbrelo como CrunchifyMavenBuildPlugins . Si tiene un proyecto web dinámico o un proyecto Java existente, siguiendo estos pasos puede convertir el proyecto en un proyecto maven. Después de convertir el proyecto a Maven, debería ver el archivo pom.xml generado que necesitamos para este tutorial.

Aquí está la estructura de mi proyecto. Estoy usando mi proyecto existente que tiene un total 8 java files en el paquete /src/com/crunchify/tutorials .

Complemento de ensamblaje maven - Crunchify Tutorial

Paso 2

Abra el archivo pom.xml de su proyecto y agregue un nuevo <plugin></plugin> principalmente en las line 28 to 38 .

Paso 3

Cree un nuevo archivo crunchify.xml y colóquelo en el paquete /src/com/crunchify/assembly . Ya hemos mencionado este archivo en el archivo pom.xml anterior.

Aquí estamos exportando nuestro proyecto en 3 <formats> diferentes

  • tar.gz
  • Código Postal
  • alquitrán

La etiqueta <directory> muestra eso: obtenga todo en el paquete src/com/crunchify/tutorial y colóquelo en la carpeta crunchify-output que se menciona en la etiqueta <outputDirectory> .

Si desea incluir todo, como /src o /resource , puede usar las siguientes variaciones a continuación:

  1. <directorio> src/com/crunchify/tutorial </directorio>
  2. <directorio> src </directorio>: todo en la carpeta src
  3. <directorio> resources </directorio>: todo en la carpeta de recursos
  4. <directorio> / </directorio> : todo

Etapa 4

Haga clic derecho en el proyecto CrunchifyMavenBuildPlugins => Run As => Maven build

Clic derecho de Maven y compilación limpia - Crunchify
  • Proporcionar objetivos como clean assembly:assembly
  • Haga clic Apply
  • Haga clic Run
Crear ensamblaje usando el comando de compilación de eclipse

Paso-5

Debería ver el mensaje BUILD SUCCESS en la consola.

Paso-6

NOTE: no es necesario que realice este paso.

tarLongFileMode para el descriptor de implementación maven - complemento de ensamblaje maven

¿Está recibiendo este error? Si ve este mensaje de error mientras crea el ensamblaje, debe agregar la siguiente línea al archivo pom.xml.

Obtuve el error anterior en mi primer intento. Así que ya agregué tarLongFileMode al archivo pom.xml anterior.

Paso-7

Ahora, how to verify ? Vaya a la carpeta de target de su proyecto y ejecute el siguiente comando para ver el contenido de su .tag.gz file contents .

bash-3.2$ tar zxvf CrunchifyMavenBuildPlugins-0.0.1-SNAPSHOT-bundle.tar.gz

complemento de ensamblaje maven - verificar resultado - crunchify

Avíseme si tiene alguna pregunta y enfrenta algún problema al ejecutar esto.