¿Cómo puedo agregar elementos de ruta de compilación a Eclipse 3.5 usando rutas relativas?


Eclipse 3.5 agregó soporte para elementos de buildpath/classpath relativos, sin embargo, parece que no puedo encontrar una forma gráfica de agregar elementos de ruta relativa. El ejemplo en nuevo y digno de mención (buscar en la página 'relativo', alrededor del 40% del camino hacia abajo) parece indicar que tengo que editar manualmente el .archivo classpath. ¿Me estoy perdiendo algo?

Editar 2015: Enlace actualizado como se había ido. Para preservar lo" nuevo y notable " indefinidamente, aquí hay una captura de pantalla de la sección mencionada.

introduzca la descripción de la imagen aquí

Author: zb226, 2009-09-15

9 answers

La forma real de hacer esto es importar la biblioteca en su espacio de trabajo, así que,

Haga clic con el botón derecho en el Explorador de paquetes - > Importar - > Sistema de archivos - > Buscar (al directorio que contiene sus jars) - > marque las casillas junto a los jars que desea - > Busque la carpeta del espacio de trabajo a la que desea importar (probablemente su carpeta lib) - > Finalizar

Tenga en cuenta que esto copiará los archivos en la carpeta lib, por lo que he encontrado que ayuda a mantener las cosas limpias si aún no las tiene allí. Ahora aparecerán en el explorador de paquetes bajo " lib."Para añadirlos al classpath,

Haga clic derecho en el proyecto -> Ruta de compilación -> configurar ruta de compilación... -> Añadir JARs - > vaya a la carpeta lib del proyecto dado y seleccione los JARs apropiados - > haga clic en aceptar - > haga clic en finalizar

Esto los agrega al CP con ubicaciones relativas.

Si necesitas más ayuda házmelo saber

 11
Author: Chris Thompson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-15 23:26:32

I'm uing Helios (i.e. 3.6.x) y esto es lo que hago para hacer referencia a un lib (jar) fuera de mi proyecto de una manera relativa.

1) Haga clic con el botón derecho en project explorer -> Import -> Import. 2) Seleccione Sistema de archivos (Siguiente) Use el botón examinar para navegar a la carpeta (sí, parece un camino difícil). Seleccione el .frasco(s) a incluir.

Normalmente añado "\lib" al nombre del proyecto en la opción "Into Folder:".

Haga clic en "Avanzado" y seleccione " Crear enlaces en workspace " y utilizo las opciones predeterminadas (ambas marcadas y relativas a PROJECT_LOC). 3) Haga clic en Finalizar

A continuación, abra las propiedades del proyecto y vaya a la pestaña Bibliotecas de rutas de compilación de Java y seleccione "Agregar Jars"..."y vaya a la carpeta \lib (del Paso 2) y seleccione la lib(s) que usted necesita. En la pestaña Bibliotecas ahora tiene "ProjectName / Lib" para la ruta de acceso de las bibliotecas.

El explorador de proyectos mostrará una carpeta lib con sus libs con un icono especial. Si buscas en tu disco duro la carpeta lib, no hay nada. Así que se está refiriendo a las libs en el camino externo, pero incluyéndolas como una lib de "proyecto".

Haga clic derecho en el archivo jar en el explorador de proyectos y haga propiedades. Deberías ver la bondad relativa del camino.

 11
Author: Mike Jones,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-08 08:12:22

Simple. sin todos los diálogos y menús.

En su .archivo de proyecto agrega la ruta al archivo real, así. La mía está encendida ../libs/GoogleAdMobAdsSdkAndroid-4.1.1 / GoogleAdMobAdsSdk-4.1.1.jar
así que cambié a PARENT-1-PROJECT_LOC / libs/...

<linkedResources>
    <link>
        <name>libs/GoogleAdMobAdsSdk-4.1.1.jar</name>
        <type>1</type>
        <locationURI>PARENT-1-PROJECT_LOC/libs/GoogleAdMobAdsSdkAndroid-4.1.1/GoogleAdMobAdsSdk-4.1.1.jar</locationURI>
    </link>
</linkedResources>

Y en .classpath uso

<classpathentry kind="lib" path="libs/GoogleAdMobAdsSdk-4.1.1.jar"/>

Como el enlace a la lib

Eclipse enlaza el recurso con project y lo usa sin copiar el archivo Al igual que Mike Jones respuesta anterior, pero sin ningún diálogo

Mejor para múltiples aplicaciones

 8
Author: Jud,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-03-26 17:34:14

Esto no funciona!

Editando el .classpath para incluir rutas relativas según el ejemplo Nuevo y digno de mención (path="../../lib/myjar.jar") no es difícil, sin embargo, no parece funcionar como se describe!

Parece resolverse en relación con el espacio de trabajo y no con el Proyecto específico como se especifica, lo cual no es de mucho uso. ¿Alguien más ha encontrado el mismo problema o una solución a esto?

 5
Author: 2 revsuser188937,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-10-15 16:42:46

Creo que puedes hacer esto gráficamente en lugar de editar .classpath. Dependiendo de la versión de Eclipse es algo así como:

Haga clic con el botón derecho en proyecto project > Propiedades > > Ruta de compilación > > Bibliotecas (tab) Add > Agregar variable

Funciona en mi Eclipse actual con un proyecto Java.. ;-)

 3
Author: NickDK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-15 13:13:07

Después de evaluar todas las respuestas y retoques con Eclipse no puedo ver ninguna manera de hacer esto sin editar manualmente el.archivo classpath.

Marcando esta respuesta como aceptada para indicar que no hay manera de hacer esto en Eclipse 3.5. Mantenga los dedos cruzados para Eclipse 3.6 o Eclipse 4.

 3
Author: basszero,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-16 13:22:03

Por lo que sé, actualmente solo puedes lograr esto editando el .archivo classpath. Para que esto sea posible a través de pure 'botón empujando' los cuadros de diálogo de exploración que aparecen después de seleccionar ' Agregar frascos externos...'y' Añadir Carpeta de Clase Externa...'necesitaría algo así como una casilla de verificación para especificar si desea agregar la ruta relativa o absoluta. Tal vez eso no sea difícil de agregar, pero aún no lo he visto.

 0
Author: Simon Groenewolt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-15 21:27:48

No. Hasta ahora, no es posible. Pero lo verás pronto. Sigue revisando las compilaciones de integración.

 0
Author: Suraj Chandran,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-10-09 05:59:06

He hecho esto añadiendo las bibliotecas a mi proyecto. Por lo tanto, cree una carpeta bajo su proyecto llamada "jars" y coloque todos los jars dependientes allí.

Cuando configure la ruta de compilación después, todo será relativo.

 0
Author: vinnybad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-10-15 19:22:56