¿Cómo crear un jar con bibliotecas externas incluidas en Eclipse?

89

Terminé con el proyecto que se conecta a la base de datos (MySQL). Ahora quiero exportar el proyecto como jar. ¿Pero no sé cómo incluir sus dependencias externas? ¿Hay alguna forma de hacerlo en Eclipse o debería usar algún script para eso?

Ghanta Sairam
fuente
¿Cómo piensa entregar la aplicación? al usuario final? Una red / Internet, un disco o una unidad flash, ... ¿algo más? ¿La aplicación. tienes una GUI?
Andrew Thompson

Respuestas:

140

Cuando exporta su proyecto como un 'jar ejecutable' (mouse derecho en el proyecto -> Exportar -> jar ejecutable) tiene la opción de empaquetar todas las dependencias en el jar generado. También tiene otras dos formas (ver captura de pantalla) para exportar sus bibliotecas, tenga en cuenta las licencias al decidir qué método de empaquetado utilizará.

Bibliotecas de paquetes

El menú desplegable 'configuración de lanzamiento' se completa con clases que contienen un main(String[])método. La clase seleccionada se inicia cuando "ejecuta" el jar.

Exportar como un jar ejecutable usa las dependencias en su ruta de construcción (mouse derecho en el proyecto -> Ruta de construcción -> Configurar ruta de construcción ...). Cuando exporta como un jar 'normal' (no ejecutable), puede seleccionar cualquier archivo en su (s) proyecto (s). Si tiene las bibliotecas en la carpeta de su proyecto, puede incluirlas pero dependencias externas, por ejemplo, no se puede incluir (para proyectos de maven, busque aquí ).

Joost
fuente
2
@Joost: señor, no obtengo ninguna opción en el encabezado de configuración de inicio cuando intento exportar una aplicación Java como un jar ejecutable. ¿Qué podría faltar o fallar?
Rat-a-tat-a-tat Ratatouille
Eclipse enumera los main()métodos que conoce. Intente ejecutar su aplicación una vez (haga clic con el botón derecho en el proyecto, Ejecutar como, Aplicación Java) y luego vuelva a exportar.
Joost
Eso es irrelevante para esta pregunta, ya que claramente dice Eclipse. Publique una nueva pregunta si no puede encontrar una respuesta (que seguramente ya está en algún lugar de este sitio)
Joost
1
¿Alguien sabe cómo hacer esto para un frasco no ejecutable en eclipse? No hay opciones relacionadas con las 'bibliotecas requeridas'.
jb1
@ jb1 ¿Alguna vez has descubierto esto?
TheKingElessar
9

Puede usar Export-> Java-> Runnable Jar para crear un jar que incluye sus dependencias

Alternativamente, también puede usar el complemento fatjar eclipse para agrupar frascos

Atila
fuente
5

Puede hacer clic con el botón derecho en el proyecto, hacer clic en exportar, escribir 'jar', elegir 'Exportar archivo JAR ejecutable'. Allí tiene la opción 'Extraer las bibliotecas necesarias en el JAR generado'.

maerch
fuente
3

Personalmente,

Ninguna de las respuestas anteriores funcionó para mí, todavía recibí errores NoClassDefFound (estoy usando Maven para las dependencias). Mi solución fue construir usando "mvn clean install" y usar el "[proyecto] -jar-with-dependencies.jar" que crea ese comando. De manera similar, en Eclipse puede hacer clic derecho en el proyecto -> Ejecutar como -> Instalar Maven y colocará los frascos en la carpeta de destino.

SMKS
fuente
2

Si desea exportar todos los archivos JAR de un proyecto web Java, abra el último archivo WAR generado con una herramienta ZIP (por ejemplo, 7-Zip), navegue hasta la carpeta / WEB-INF / lib /. Aquí encontrará todos los archivos JAR que necesita para este proyecto (como se enumeran en "Bibliotecas de referencia").

Peter Saitz
fuente
0

Al exportar su fuente a un jar, asegúrese de seleccionar la opción jar ejecutable de las opciones. Luego seleccione si desea empaquetar todos los archivos jar de dependencia o simplemente incluirlos directamente en el archivo jar. Depende del proyecto en el que esté trabajando.

A continuación, ejecuta el jar directamente con java -jar example.jar.

Charan Raj
fuente
0

Para generar un archivo jar en eclipse, haga clic derecho en el proyecto para el que desea generar, seleccione Exportar> Java> Archivo Jar ejecutable,

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Es un jar de creación que incluye todas las dependencias de Pom.xml, pero asegúrese de emitir la licencia si está utilizando una dependencia de terceros para su aplicación.

Rohit
fuente
0

Si se trata de un proyecto java independiente (método principal), entonces ninguna ruta específica coloque todos los frascos dentro del proyecto, ni una ruta específica, luego haga clic derecho en el proyecto -> exportar -> frasco ejecutable -> seleccione la configuración del almuerzo y el manejo de la biblioteca luego elija la opción del botón de radio "Empaquetar bibliotecas requeridas en jar generado" -> Finalizar.

O

Si tiene un proyecto web, coloque todos los archivos jar en la carpeta web-inf / lib y realice el mismo paso.

JitenS
fuente