java - generar - incluir librerias externas en un jar eclipse
Eclipse: Adjunte source/javadoc a una biblioteca a través de una propiedad local (3)
Puedes hacer esto con variables classpath.
Cada desarrollador crea un par de variables nuevas en Ventana -> Preferencias -> Java -> Ruta de compilación -> Variables de escala de clases.
Defina una variable (por ejemplo, JAVA_LIB_DIR) que apunte a un directorio que contenga el JAR de terceros (o JARS). Defina otra variable que apunte a un directorio que contenga el código fuente de terceros (JAVA_SRC_DIR). Puede configurar esto como lo desee, pero tenemos una estructura como esta:
common/
lib/
java/ <-- JAVA_LIB_DIR variable points to this directory
axis/
bitronix/
1.0/bitronix.jar "extension" is "bitronix/1.0/bitronix.jar"
...
En la ruta de compilación de su proyecto, use la opción "Agregar variable ..." para agregar la biblioteca. Luego, cuando "adjuntar fuente", se le pedirá una variable y una extensión para el código fuente.
De esta forma, se puede registrar un único archivo .classpath compartido, al tiempo que permite a cada desarrollador ubicar su propia biblioteca y directorios de origen donde lo desee.
Tengo una biblioteca de terceros en mi repositorio SVN y me gustaría asociar source / javadoc con ella localmente en Eclipse. Es decir, debería haber alguna configuración local (por ejemplo, una entrada en el archivo local.properties
) que asocie la fuente / javadoc con el archivo JAR, pero que no introduzca dependencias locales en el repositorio a través de .classpath
. Idealmente tendría
lib_src_dir = /my/path/to/lib/src
en local.properties
y luego
<classpathentry kind="lib" path="lib.jar" sourcepath="${lib_src_dir}">
en. .classpath
Se puede hacer esto?
[EDIT] La respuesta de @VonC es útil ... ¿Hay alguna forma de cargar variables de ruta desde un archivo de texto (por ejemplo, local.properties
) en lugar de ir a través de Ventana -> Preferencias -> General -> Espacio de trabajo -> Recursos vinculados?
Acabo de descubrir una respuesta simple a esto (en Indigo) después de trabajar en él en segundo plano y en momentos libres durante un par de días. La forma más fácil que he encontrado es ampliar su proyecto en el Explorador de proyectos, acceder a las Bibliotecas referenciadas, hacer clic con el botón derecho en el JAR al que se hace referencia y hacer clic en Propiedades. Allí tienes las opciones para designar una ubicación de JavaDocs. Ingrese la ubicación de la carpeta que contiene index.html y packages-list, archivos que forman parte de Javadocs. Pedazo de pastel!
El único problema que veo hasta ahora es que apuesto a que debes hacer esto en cada proyecto que haga referencia a esa biblioteca.
Creo que esto se lograría mejor a través de:
- la creación de una carpeta vinculada combinada con
- la declaración de un recurso vinculado
El recurso vinculado define una variable de ruta que sería igual a /my/path/to/lib/src
La carpeta vinculada se refiere a su recurso vinculado
(puede usar una variable y no una ruta fija, con el botón "Variable")
La variable es en realidad siempre local (en el espacio de trabajo) y se modificará a través de la pantalla de preferencias de Linked Resources
.
La carpeta vinculada también puede ser ... un archivo vinculado, lo que permite la referencia de un archivo a través de una ruta relativa (relativa a la variable).
Entonces este archivo vinculado (aquí un archivo vinculado) se puede asociar a su classpathentry
de classpathentry
en el atributo " source
".
El problema con los recursos vinculados es que son locales en el espacio de trabajo, en las preferencias.
Puede exportar las preferencias en un archivo [myPrefs.epf]
y luego recortar el archivo exportado para dejar solo las líneas que contienen pathvariable
:
/instance/org.eclipse.core.resources/pathvariable.MY_DIRECTORY=/my/path/to/lib/src
Cualquiera puede importar este archivo de preferencias especiales, que solo afectará a la parte de " Linked Resources
".
Esa solución no es muy satisfactoria, ya que el archivo de preferencia .epf
no se puede cargar automáticamente en el proyecto .
Cuando configuro un proyecto con recursos vinculados que definen una ruta, siempre dejo un gran README.txt
en la raíz de mi proyecto, para incitar al usuario de dicho proyecto a definir los mismos recursos vinculados con su propio local fijo camino.
Varios errores están en progreso para mejorar esta situación o en torno al tema de Recursos vinculados .
Especialmente:
- Exportar un proyecto con recursos vinculados
- Rutas relativas sin variables
- Tener recursos vinculados en relación con las rutas del espacio de trabajo
- Me gustaría utilizar la ruta relativa a la raíz del espacio de trabajo
DevByStarlight menciona en los comentarios el proyecto (no muy activo desde octubre de 2011) workspacemechanic .
Workspace Mechanic automatiza el mantenimiento de su entorno Eclipse ajustando las preferencias, agregando ubicaciones de extensión, etc. Puedes usarlo para:
- Cree un entorno coherente entre grupos del tamaño de toda la empresa, su equipo local o incluso entre sus propios espacios de trabajo
- Ahorre tiempo configurando nuevos espacios de trabajo
- Cree tareas que garanticen que sus nuevas preferencias favoritas se apliquen a todos sus espacios de trabajo actuales y futuros. (Esta es una de nuestras funciones favoritas!)
La clave del comportamiento del Mecánico del espacio de trabajo es la
Task
.
Una tarea describe una prueba simple y una acción que, cuando se ejecuta, cambia el entorno para que la prueba pase posteriormente.
Tasks
pueden venir en muchas formas: archivos de preferencias, clases de Java, scripts de Groovy y extensiones de Eclipse. Puede definir fácilmente sus propias tareas.
Viene con una colección de scripts: