una proyecto otro librerias libreria library incluir importar externas como clases agregar java eclipse jar classpath external

otro - importar un proyecto java en eclipse



Eclipse: ¿Cómo construir un jar ejecutable con jar externo? (6)

Estoy intentando construir un programa jar ejecutable que depende de un jar externo descargado. En mi proyecto, los incluí en la ruta de compilación y puedo ejecutarlos y depurarlos dentro de Eclipse.

Cuando traté de exportarlo a un contenedor, puedo ejecutar el programa, pero no puedo cuando intento presionar un botón que incluye llamadas a funciones y clases desde el contenedor externo. He editado las variables de entorno (Windows XP) CLASSPATH para incluir rutas de todos los jar externos, pero no funciona.

Un punto a tener en cuenta es que obtuve advertencias de compilación al exportar mi jar ejecutable, pero no aparece ninguna descripción sobre las advertencias.

¿Alguien amablemente proporcionaría una guía completa sobre cómo incluir un programa jar externo usando eclipse?


Como buena práctica, puede usar un Ant Script (Eclipse viene con él) para generar su archivo JAR. Dentro de este JAR puedes tener todas las librerías dependientes.

Incluso puede configurar el encabezado de ruta de clase MANIFEST para apuntar a los archivos en su sistema de archivos, aunque no es una buena práctica.

Ejemplo de script Ant build.xml:

<project name="jar with libs" default="compile and build" basedir="."> <!-- this is used at compile time --> <path id="example-classpath"> <pathelement location="${root-dir}" /> <fileset dir="D:/LIC/xalan-j_2_7_1" includes="*.jar" /> </path> <target name="compile and build"> <!-- deletes previously created jar --> <delete file="test.jar" /> <!-- compile your code and drop .class into "bin" directory --> <javac srcdir="${basedir}" destdir="bin" debug="true" deprecation="on"> <!-- this is telling the compiler where are the dependencies --> <classpath refid="example-classpath" /> </javac> <!-- copy the JARs that you need to "bin" directory --> <copy todir="bin"> <fileset dir="D:/LIC/xalan-j_2_7_1" includes="*.jar" /> </copy> <!-- creates your jar with the contents inside "bin" (now with your .class and .jar dependencies) --> <jar destfile="test.jar" basedir="bin" duplicate="preserve"> <manifest> <!-- Who is building this jar? --> <attribute name="Built-By" value="${user.name}" /> <!-- Information about the program itself --> <attribute name="Implementation-Vendor" value="ACME inc." /> <attribute name="Implementation-Title" value="GreatProduct" /> <attribute name="Implementation-Version" value="1.0.0beta2" /> <!-- this tells which class should run when executing your jar --> <attribute name="Main-class" value="ApplyXPath" /> </manifest> </jar> </target>


Eclipse 3.5 tiene una opción para empaquetar las bibliotecas requeridas en el jar ejecutable. Archivo -> Exportar ... Elija un archivo ejecutable y haga clic en siguiente. La ventana de exportación del jar ejecutable tiene un botón de opción donde puede elegir empaquetar las bibliotecas requeridas en el contenedor.



Puedes hacer esto escribiendo un manifiesto para tu jar . Eche un vistazo al encabezado Class-Path . Eclipse tiene una opción para elegir su propio manifiesto en la exportación.

La alternativa es agregar la dependencia al classpath en el momento de invocar la aplicación:

win32: java.exe -cp app.jar;dependency.jar foo.MyMainClass *nix: java -cp app.jar:dependency.jar foo.MyMainClass



Cómo incluir los frascos de tu proyecto en tu jar ejecutable:

Estoy usando la versión de Eclipse: 3.7.2 ejecutándose en Ubuntu 12.10. También le mostraré cómo crear el build.xml para que pueda hacer el ant jar desde la línea de comando y crear su jar con otros jar importados extraídos en él.

Básicamente le pides a Eclipse que construya build.xml que importe tus bibliotecas en tu jar por ti.

  1. Arranca Eclipse y crea un nuevo proyecto Java, crea un nuevo paquete ''mypackage'', agrega tu clase principal: Runner Introduce este código allí.

  2. Ahora incluye el mysql-connector-java-5.1.28-bin.jar de Oracle que nos permite escribir Java para conectarnos a la base de datos MySQL. Haga esto haciendo clic derecho en el proyecto -> propiedades -> ruta de compilación java -> Agregar jar externo -> elija mysql-connector-java-5.1.28-bin.jar.

  3. Ejecute el programa dentro de eclipse, debería ejecutarse, y le dirá que el nombre de usuario / contraseña no es válido, lo que significa que Eclipse está configurado correctamente con el jar.

  4. En Eclipse, vaya a File -> Export -> Java -> Runnable Jar File . Verás este diálogo:

    Asegúrese de configurar la casilla de verificación ''guardar como ant script''. Eso es lo que lo hace para que pueda usar la línea de comandos para hacer un ant jar más tarde.

  5. Luego ve a la terminal y mira el script de la hormiga:

Como puede ver, ejecuté el archivo jar y no se equivocó porque encontró el mysql-connector-java-5.1.28-bin.jar incluido dentro de Hello.jar .

Mira dentro de Hello.jar: vi Hello.jar y verás muchas referencias a com/mysql/jdbc/stuff.class

Para hacer ant jar en la línea de comandos para hacer todo esto automáticamente: Cambie el nombre de buildant.xml a build.xml y cambie el nombre de destino de create_run_jar a jar .

Luego, desde MyProject , escribe ant jar y boom. Tienes tu jar dentro de MyProject. Y puedes invocarlo usando java -jar Hello.jar y todo funciona.