¿Cómo construir correctamente JAR desde IntelliJ IDEA?

Resuelto ripper234 asked hace 15 años • 24 respuestas

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-INFarchivo).

ripper234 avatar Jul 05 '09 00:07 ripper234
Aceptado

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
hadeneh avatar Feb 04 '2011 18:02 hadeneh

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:

Menú Archivo

  • Crea un nuevo artefacto:

Crear un nuevo artefacto

  • Seleccione la clase principal y asegúrese de cambiar la carpeta del manifiesto:

ingrese la descripción de la imagen aquí

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:

forma correcta para el nuevo manifiesto

  • 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.

ingrese la descripción de la imagen aquí

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:

Cree una nueva configuración de ejecución/depuración:

  • Elija la aplicación:

Elige 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

ingrese la descripción de la imagen aquí

Configuración final

  • Guárdalo y luego ejecuta

ingrese la descripción de la imagen aquí

Este procedimiento creará el archivo jar en la carpeta "destino".

Ubicación del archivo JAR

Zsolt Tolvaly avatar Jul 25 '2017 12:07 Zsolt Tolvaly

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 .jaruso de IntelliJ IDEA 14.1.5:

  1. Archivo > Guardar todo.
  2. Ejecute el controlador o la clase con el método principal.
  3. Archivo > Estructura del proyecto.
  4. Seleccione la pestaña "Artefactos".
  5. Haga clic en el botón verde más cerca de la parte superior de la ventana.
  6. Seleccione JAR en el menú desplegable Agregar. Seleccione "De módulos con dependencias"
  7. Seleccione la clase principal.
  8. El botón de opción debería seleccionar "extraer al JAR de destino". Presiona OK.
  9. Marque la casilla "Construir sobre la marca"
  10. Presione aplicar y Aceptar.
  11. En el menú principal, seleccione el menú desplegable de compilación.
  12. Seleccione la opción construir artefactos.
user5442490 avatar Oct 13 '2015 20:10 user5442490

Para aquellos que se benefician de las imágenes como yo:

File->Project Structure

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

kgui avatar May 08 '2017 17:05 kgui

Aquí hay 2 ejemplos con proyecto maven, paso a paso:

Método 1: construir un frasco con maven y pom.xml

  1. Archivo, nuevo, proyecto, maven
  2. crear un paquete, crear un programa java dentro de ese paquete ingrese la descripción de la imagen aquí
  3. 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: ingrese la descripción de la imagen aquí 4. abra el cuadro del proyecto maven haciendo clic en el icono de búsqueda y escriba maven, ingrese la descripción de la imagen aquí

  1. haga clic en limpiar, luego haga clic en instalar ingrese la descripción de la imagen aquí

  2. su archivo jar aparecerá dentro de la carpeta de destino ingrese la descripción de la imagen aquí

  3. prueba tu jar usando java -jar

ingrese la descripción de la imagen aquí

Método 2: construir jar con maven sin cambiar pom.xml

  1. Archivo, nuevo, proyecto, maven
  2. crear un paquete, crear un programa java dentro de ese paquete (igual que arriba)
  3. 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}

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

  1. luego haga clic en construir en el menú, construir artefactos, construir

ingrese la descripción de la imagen aquí

  1. encuentra el frasco en la carpeta de salida

ingrese la descripción de la imagen aquí

  1. ejecutarlo :)

ingrese la descripción de la imagen aquí

rrr avatar Jan 26 '2019 00:01 rrr