2011-02-12 16 views

Respuesta

42

Debe declarar una variable (Vía de construcción Java -> Agregar variable ... -> Configurar variable ... -> Nuevo) fijar la ruta de cambiar en cada sistema (por ejemplo FOO_BAR_HOME).

de lo que puede agregar la variable a las bibliotecas y editarla para que apunte a la biblioteca, al igual que

%FOO_BAR_HOME%/lib/foobar.jar 

Tome un vistazo a las variables existentes para su uso.

Alternativa puede colocar la biblioteca dentro del proyecto (por ejemplo, la subcarpeta 'lib'). Si agrega la biblioteca desde esta ubicación ('Agregar tarros ...' NO 'Agregar tarros externos ...') se agregará por ruta relativa.

+6

Gracias Claszen. Usé el "agregar frascos" en lugar de "frascos externos". Funciona. – ablimit

+2

Necesito usar la idea variable, pero no puedo entender cómo usarla. Cuando hago clic en Editar ... en una de mis bibliotecas externas, obtengo una ventana del Buscador (estoy en OSX Lion) que me permite navegar a mis jarras, pero nada que me permita editar esa ruta para usar mi variable en su lugar . ¿Algunas ideas? – SilithCrowe

+0

@SilithCrowe Haga clic en 'Agregar variable ...' y seleccione la variable que desea usar (o configure una nueva usando 'Configure Variables ...') - luego de insertar la variable 'Edit ...' it (agregue la referencia a su biblioteca a la ruta dada por la variable). – FrVaBe

4

Lo hice muy simple. Tenía una librería con una ruta absoluta en mi ruta de clases:

/home/glauco/workspace/ltClubs/lib/swingx-core-1.6.2.jar 

Así que acaba de quitar la ruta absoluta de ella y funciona. Ahora es xD relativa:

lib/swingx-core-1.6.2.jar 
+0

Esto funciona para mí cuando construyo con el comando 'ant'. Pero cuando lo ejecuto desde eclipe me sale un error que dice que no puede encontrar libs – Uko

3

Esto debería ser un comentario en la respuesta anterior, pero el sistema de reputación extraña de este sitio me obliga a publicar una nueva respuesta en vez ... (sin comentarios)

Usted puede usar una ruta relativa, pero le falta el './' en ella.

En lugar de

lib/swingx-core-1.6.2.jar 

se debe utilizar

./lib/swingx-core-1.6.2.jar 
3

Hey yo estaba teniendo este problema también, pero puede ofrecer una solución alternativa para aquellos que quieren mantener la biblioteca necesaria localmente pero fuera el directorio del Proyecto Java.

Primero, agregue la biblioteca que desea utilizando el método habitual "Agregar biblioteca externa/Jar".

Si va al directorio de inicio de su Proyecto Java, debería ver un archivo .classpath. Edite esto con cualquier editor de texto que desee y busque la línea que hace referencia a la biblioteca que ha agregado. Luego, supongamos que su biblioteca se llama lib.jar y tiene un nivel fuera de su proyecto.

permite decir la línea dice:

<classpathentry kind="lib" path="C:/Users/Public/workspace/lib.jar"/>

En lugar de mover lib.jar al directorio de su proyecto, puede simplemente cambiar esta línea para decir:

<classpathentry kind="lib" path="./../lib.jar"/>

y su construcción Java la ruta se actualizará para buscarla en el directorio un nivel por encima del proyecto actual.

Además, que yo sepa si está ejecutando una Mac o cualquier sistema operativo basado en Unix, entonces el archivo .classpath estará oculto. Para acceder, puede intentar abrirlo desde la Terminal, navegando hasta el directorio que utiliza su Proyecto Java (la propia carpeta del proyecto, no el espacio de trabajo), y luego vi o vim ".classpath". Tenga en cuenta que usar ls o incluso ls -a podría no funcionar, pero confíe en que estará allí.

Una vez que lo haya cambiado a la ubicación especificada, guarde el archivo y cuando vuelva a eclipse, la referencia debería seguir funcionando. Tenga en cuenta que el "./" al principio es necesario. Simplemente tener "../" no funcionará, o al menos no lo hizo para mí.

0

Agregue la carpeta que contiene las dependencias al proyecto JAVA. Seleccione y haga clic derecho en las dependencias, aparece "Agregar a ruta de compilación" como un menú contextual. Esto agrega las dependencias usando la ruta relativa en lugar de la ruta absoluta.