2009-09-15 13 views
23

Eclipse 3.5 agregó compatibilidad con los elementos relativos de compilación/classpath, pero parece que no puedo encontrar una forma gráfica de agregar elementos relativamente remendados. The example in new and noteworthy (search the page for 'relative', about 40% of the way down) parece indicar que tengo que editar manualmente el archivo .classpath. ¿Me estoy perdiendo algo?¿Cómo puedo agregar elementos de ruta de compilación a Eclipse 3.5 usando rutas relativas?

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

enter image description here

+0

1 Parece que sólo se puede hacerlo por el pirateo de la ruta de clase –

Respuesta

3

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

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

+1

preguntando: ¿cómo lo hizo manualmente? Cada vez que pongo un patrón de archivo como ../name.jar en classpath, Eclipse craps out (eso es Galileo) – Matthias

+0

@Matthias: veo lo mismo con Helios. –

+0

Tampoco funciona en Eclipse Luna SR2 (4.4.2). – zb226

2

Creo que se puede hacer esto de forma gráfica en lugar de .classpath edición. Dependiendo de la versión de Eclipse que es algo así como:

proyecto botón derecho del ratón -> Propiedades -> Build Path -> Bibliotecas (TAB) -> Agregar variable

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

+1

Eso es para agregar variables en lugar de rutas relativas directos. No es lo que se pidió en absoluto –

+0

Supongo que me falta el sentido de tu pregunta. Pensé que querías cambiar el .classpath para agregar algo como: Pero usando la interfaz gráfica. Mi mal ... – NickDK

+2

no.Quería agregar una entrada como "../../lib/junit.jar" – basszero

0

Hasta donde yo sé, actualmente solo se puede lograr esto editando el archivo .classpath. Para que esto sea posible a través de un 'botón pulsador' puro, los cuadros de diálogo emergentes que aparecen después de seleccionar 'Agregar archivos JAR externos' y 'Agregar carpeta de clase externa ...' necesitarían algo así como una casilla de verificación para especificar si desea agregue la ruta relativa o absoluta. Tal vez no sea difícil de agregar, pero aún no lo he visto.

11

La manera más efectiva de hacer esto es importar la biblioteca en su área de trabajo es así,

Haga clic derecho en el Explorador de paquetes -> Importar -> Sistema de archivos -> Examinar (al directorio que contiene sus tarros) -> cheque las casillas al lado de los frascos que desee -> Busque la carpeta de espacio de trabajo que desea importar (probablemente su carpeta lib) -> Finalizar

Tenga en cuenta que esto copiará los archivos en la carpeta lib, así que he encontrado que ayuda a mantener las cosas limpias si aún no las tienes allí. Aparecerán ahora en el explorador de paquetes en "lib". Para agregarlos al classpath,

Haga clic con el botón derecho en el proyecto -> Ruta de acceso de compilación -> configure path de compilación ... -> Add JARs -> navegue a la carpeta lib del proyecto y seleccione los JAR apropiados -> haga clic en ok -> haga clic en finalizar

Esto los agrega al CP con ubicaciones relativas.

Si necesita más ayuda, hágamelo saber

+3

No del todo. No quiero importar las jarras al proyecto, quiero referirme a mis directorios lib (que son directorios externos y varios directorios principales) a través de rutas relativas para que cualquiera que controle mis proyectos no tenga que establecer variables o entorno – basszero

+0

Las rutas de construcción relativas de eclipse son relativas al proyecto. Hasta donde yo sé, la única forma de lograr que Eclipse se refiera a las cosas de esa manera es tenerlas dentro del proyecto en el administrador del proyecto. Es posible que pueda usar operadores como ... para referirse a otros directorios, pero no conozco ninguna forma de lograrlo gráficamente. ¡Lo siento! –

0

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

5

¡Esto no funciona!

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

Parece que se resuelve en relación con el área de trabajo y no con el proyecto específico como se especificó, lo cual no es de mucha utilidad. ¿Alguien más ha encontrado el mismo problema o una solución para esto?

0

He hecho esto agregando las bibliotecas a mi proyecto. Entonces, crea una carpeta bajo tu proyecto llamada "jarras" y pon todos los jars dependientes allí.

Al configurar la ruta de compilación después, todo será relativo.

11

Estoy utilizando Helios (es decir, 3.6.x) y esto es lo que hago para hacer referencia a una lib (jar) fuera de mi proyecto de una manera relativa.

1) Haga clic derecho en proyecto en el explorador de proyectos -> Importar -> Importar. 2) Seleccione el Sistema de archivos (Siguiente) Use el botón Examinar para navegar a la carpeta (sí, parece una ruta difícil). Seleccione los .jar (s) para incluir.

Normalmente agrego "\ lib" al nombre del proyecto en la opción "En la carpeta:".

Haga clic en "Avanzado" y seleccione "Crear enlaces en el espacio de trabajo" 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 Java Path Build y seleccione "Agregar tarj ..." y vaya a la carpeta \ lib (del Paso 2) y seleccione lib (s) que necesitas En la pestaña Libraries ahora tiene "ProjectName/Lib" para la ruta de las libretas.

El explorador de proyectos mostrará una carpeta lib con sus libs con un icono especial. Si busca en su disco duro la carpeta lib, no hay nada allí. Por lo tanto, se refiere a las libs en la ruta externa, pero las incluye como lib de "proyecto".

Haga clic con el botón derecho en el archivo jar en el explorador del proyecto y haga las propiedades. Deberías ver el camino relativo bondad.

+1

¡Perfecto! Al usar este método, se crea una carpeta virtual para contener sus archivos jar. Los propios archivos jar ** no se copian **, pero se conservan en su ubicación original y se referencian mediante una ruta relativa (por ejemplo, ' /../../ mylittle.jar'). – Daniel

+0

¿Tuviste que configurar PROJECT_LOC o estaba predefinido? – Rikki

8

Simple. sin todos los cuadros de diálogo y menús.

En su archivo .project, agregue la ruta al archivo real, como este. mina está en ../libs/GoogleAdMobAdsSdkAndroid-4.1.1/GoogleAdMobAdsSdk-4.1.1.jar
así que cambié a PADRES-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 yo uso

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

como el enlace a la lib

Eclipse vincula el recurso de proyectar y lo utiliza sin copping el archivo al igual que Mike Jones respuesta anterior, pero sin ningún tipo de diálogos

mejor para múltiples aplicaciones

Cuestiones relacionadas