Como importar clases entre distintos proyectos en Eclipse (II)

Ya os conté como hacerlo de una forma rápida y sencilla aquí, y ahora os cuento otra solución que se suele utilizar más en grandes proyectos.

La solución es generar un fichero .jar con el bytecode de nuestro proyecto, con la evidente pega de tener que recompilar y crear el jar si cambiamos algo en el proyecto que estamos intentando utilizar en otro.
Lo podemos hacer con los siguientes pasos:

  1. Para empezar tendremos que compilar el proyecto que quieres usar en otro u otros.
  2. Ahora nos dirigimos al directorio bin y añadimos todo el contenido en un fichero .zip
  3. Renombramos el .zip a .jar
  4. Sólo queda incluir la librería .jar como uno de los jars de tu proyecto.
Anuncios

Como importar clases entre distintos proyectos en Eclipse (I)

Importar clases dentro de un mismo proyecto es trivial, sólo tenemos que hacer un import elPaquete.laClase, y ya podremos crear objetos de las clases que se encuentran en el paquete que acabamos de importar.

Sin embargo, cuando intentamos importar entre distintos proyectos, veremos que no podemos hacerlo con este método, de hecho, no es trivial el cómo hacerlo.

Se puede hacer de dos formas, en esta entrada explico la primera y explicaré la otra en otra entrada

Añadir a las fuentes de un proyecto, las fuentes de otro

  1. Pinchamos sobre el proyecto al que queremos importar paquetes de otros proyectos, y con click-derecho accedemos a las propiedades (Properties) y ahí accedemos a “Java Build Path”.
  2. En esta ventana accedemos a la pestaña “Source” y pinchamos en “Link Source”.
  3. Aquí podemos añadiremos el directorio de fuentes de otro proyecto que queremos importar. En “Linked Folder Location” ponemos la ruta de la carpeta src del otro paquete. En “Folder Name” nos pondrá src por defecto, pero este nombre ya existirá asique lo cambiamos por el nombre que queramos.
  4. Ya está hecho, ahora nos saldrá dentro del proyecto otra carpeta que apunta a la carpeta que indicamos y podremos importar dicho paquete para crear clases de este.