¿Cómo construir correctamente JAR desde IntelliJ IDEA?
Tengo un proyecto que contiene un único módulo y algunas dependencias. Me gustaría crear un JAR, en un directorio separado, que contenga el módulo compilado. Además, me gustaría tener las dependencias presentes junto a mi módulo.
No importa cómo modifique el proceso de "construcción JAR" de IntelliJ, la salida de mi módulo aparece vacía (además de un META-INF
archivo).
Instrucciones:
File-> Project Structure-> Project Settings-> Artifacts-> Haga clic +(signo más) -> Jar->From modules with dependencies...
Seleccione un Main Class(el que tienemain()
método) si necesita que el frasco sea ejecutable.
SeleccionarExtract to the target Jar
Hacer clicOK
Haga clic en Apply/OK
Lo anterior establece el "esqueleto" donde se guardará el frasco. Para compilarlo y guardarlo, haga lo siguiente:
Build-> Build Artifact->Build
Intente extraer el archivo .jar de:
📦ProjectName
┗ 📂out
┗ 📂artifacts
┗ 📂ProjectName_jar
┗ 📜ProjectName.jar
Referencias:
- (Agosto de 2010) http://blogs.jetbrains.com/idea/2010/08/quickly-create-jar-artifact/ (Aquí se explica cómo construir un frasco con IntelliJ 10)
- (Marzo de 2023) https://www.jetbrains.com/help/idea/compiling-applications.html#package_into_jar
Esto sigue siendo un problema en 2017, ¡espero que ayude a alguien! Encontré 2 posibilidades para crear jar-s que funcionen en IntelliJ 2017.2
1. Creando artefactos desde IntelliJ:
- Ir a la estructura del proyecto:
- Crea un nuevo artefacto:
- Seleccione la clase principal y asegúrese de cambiar la carpeta del manifiesto:
Tienes que cambiar el directorio de manifiesto:
<project folder>\src\main\java
reemplace "java" con "recursos"
<project folder>\src\main\resources
Así es como debería verse:
Luego, elige las dependencias que desea empaquetar EN su frasco o CERCA de su archivo jar.
Para construir su artefacto, vaya a construir artefactos y elija "reconstruir". Creará una carpeta "de salida" con su archivo jar y sus dependencias.
2. Usando el complemento de ensamblaje de maven
Agregar sección de compilación al archivo pom
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<finalName>ServiceCreate</finalName>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest>
<mainClass>com.svt.optimoo.App</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
- Cree una nueva configuración de ejecución/depuración:
- Elija la aplicación:
- Rellene el formulario
- Agregue el objetivo de maven "ensamblaje: único" después de la compilación para que se ejecute en último lugar
- Guárdalo y luego ejecuta
Este procedimiento creará el archivo jar en la carpeta "destino".
Recientemente tuve este problema y creo que estos pasos son fáciles de seguir si faltan detalles en alguna solución o enlace anterior.
Cómo crear un .jar
uso de IntelliJ IDEA 14.1.5:
- Archivo > Guardar todo.
- Ejecute el controlador o la clase con el método principal.
- Archivo > Estructura del proyecto.
- Seleccione la pestaña "Artefactos".
- Haga clic en el botón verde más cerca de la parte superior de la ventana.
- Seleccione JAR en el menú desplegable Agregar. Seleccione "De módulos con dependencias"
- Seleccione la clase principal.
- El botón de opción debería seleccionar "extraer al JAR de destino". Presiona OK.
- Marque la casilla "Construir sobre la marca"
- Presione aplicar y Aceptar.
- En el menú principal, seleccione el menú desplegable de compilación.
- Seleccione la opción construir artefactos.
Para aquellos que se benefician de las imágenes como yo:
File->Project Structure
Aquí hay 2 ejemplos con proyecto maven, paso a paso:
Método 1: construir un frasco con maven y pom.xml
- Archivo, nuevo, proyecto, maven
- crear un paquete, crear un programa java dentro de ese paquete
en pom.xml, agregue maven-jar-plugin.
<plugin> <!-- Build an executable JAR --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.1.0</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>somePackage.sample</mainClass> </manifest> </archive> </configuration> </plugin>
captura de pantalla: 4. abra el cuadro del proyecto maven haciendo clic en el icono de búsqueda y escriba maven,
haga clic en limpiar, luego haga clic en instalar
su archivo jar aparecerá dentro de la carpeta de destino
prueba tu jar usando java -jar
Método 2: construir jar con maven sin cambiar pom.xml
- Archivo, nuevo, proyecto, maven
- crear un paquete, crear un programa java dentro de ese paquete (igual que arriba)
- File-> Project Structure-> Project Settings-> Artifacts-> Haga clic green plus sign-> Jar->From modules with dependencies
¡Muy importante!
MANIFEST.MF debe estar en su carpeta de recursos y Main.Class debe hacer referencia a {paquete}-{nombre-clase-que-contiene-clase-principal}
- luego haga clic en construir en el menú, construir artefactos, construir
- encuentra el frasco en la carpeta de salida
- ejecutarlo :)