Eclipse: Adjunte source / javadoc a una biblioteca a través de una propiedad local
Pregunta
Tengo una biblioteca de terceros en mi repositorio SVN y me gustaría asociar la fuente / 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
. Lo ideal sería tener
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] @ VonC es útil ... ¿Hay alguna forma de cargar las Variables de ruta desde un archivo de texto (por ejemplo, local.properties
) en lugar de pasar por Window - > Preferencias - > General - > Espacio de trabajo - > Recursos vinculados?
Solución
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 haría referencia a su recurso vinculado
(puede usar una variable y no una ruta fija, con el botón " Variable ")
La variable siempre es local (en el espacio de trabajo) y se modificará a través de la pantalla de preferencias Linked Resources
.
La carpeta vinculada también puede ser ... un archivo vinculado, permitiendo así la referencia de un archivo a través de una ruta relativa (relativa a la variable).
Entonces este archivo vinculado (aquí un archivo vinculado) puede asociarse a su classpahentry
en el " source
" atributo.
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 preferencia especial, que solo afectará a los " Recursos vinculados
" parte.
Esa solución no es muy satisfactoria, ya que el archivo de preferencias .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 esos mismos recursos vinculados con su propia ruta local fija.
Varios errores están en progreso para mejorar esta situación o alrededor de 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 usar la ruta relativa a la raíz del espacio de trabajo
DevByStarlight menciona en los comentarios del proyecto (no muy activo desde octubre de 2011) wo
Otros consejos
Acabo de encontrar una respuesta simple a esto (en Indigo) después de trabajar en ello en segundo plano y momentos libres durante un par de días. La forma más fácil que he encontrado es expandir su proyecto en el Explorador de proyectos, ir a sus Bibliotecas de referencia, hacer clic con el botón derecho en el JAR de referencia apropiado y hacer clic en Propiedades. Allí tiene las opciones para designar una ubicación JavaDocs. Ingrese la ubicación de la carpeta que contiene index.html y paquetes-lista, archivos que forman parte de Javadocs. ¡Pedazo de pastel!
El único problema que veo hasta ahora es que apuesto a que necesitas hacer esto en todos los proyectos que hacen referencia a esa biblioteca.
Puede hacer esto con variables classpath.
Cada desarrollador crea un par de nuevas variables en Window - > Preferencias - > Java - > Construir ruta - > Variables de classpath.
Defina una variable (por ejemplo, JAVA_LIB_DIR) que apunta a un directorio que contiene 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 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 " Agregar variable ... " opción para agregar la biblioteca. Entonces, cuando " adjuntar fuente " se le pedirá una variable y una extensión al código fuente.
De esta forma, se puede registrar un único archivo .classpath compartido, al tiempo que permite que cada desarrollador localice su propia biblioteca y directorios de origen donde desee.