Eclipse: empaque varios proyectos en un solo JAR

Tengo varios proyectos, pero solo uno con una clase principal. El que tiene la clase Main depende de los otros proyectos. Se hace referencia a estos proyectos en Eclipse, pero cuando exporto mi JAR, los otros proyectos no se exportan con ese JAR.

¿Cómo puedo exportar mi proyecto principal e "incluir" los otros proyectos en ese mismo JAR? Prefiero no tener varios JAR y tener que definirlos en mi Classpath en la línea de comando.

preguntado el 28 de agosto de 11 a las 01:08

manualmente o como parte de un proceso de construcción? -

@eon: En este momento estoy construyendo manualmente, pero si tiene una mejor manera, estoy abierto a sugerencias. -

publicado la respuesta a continuación para la idea de construcción -

2 Respuestas

No lo hagas por las malas. Utilice el propio exportador de Eclipse. Primero asegúrese de tener los otros proyectos referenciados como Proyectos en el proyecto principal Construir camino. Una vez hecho esto, simplemente haga clic con el botón derecho en el proyecto principal, elija Exportar y entonces Java> Archivo JAR ejecutable. Elija la configuración de lanzamiento (que utilizó para probar el main() clase localmente) y luego tienes 3 Manejo de bibliotecas opciones para empaquetar el JAR:

enter image description here

La primera opción simplemente volverá a empaquetar las clases de otros proyectos dentro del JAR. Todo es sencillo.

La segunda opción copiará otros proyectos como JAR dentro del JAR. Esto normalmente no funciona de esa manera, pero Eclipse también agrega un lanzador especial que básicamente copia los JAR incrustados en la memoria, extrae allí, agrega los archivos al cargador de clases y luego invoca el main() con ese cargador de clases.

La tercera opción es algo que no desea para este caso en particular.

Respondido 28 ago 11, 07:08

Si lo estuviera haciendo, 'mavenizaría' los proyectos, usaría una dependencia de maven para cada dependencia de proyecto y luego usaría

mvn assembly:assembly

ver http://maven.apache.org/plugins/maven-assembly-plugin/ para más información sobre este complemento

Respondido 29 ago 11, 13:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.