Comment faire pour importer une bibliothèque externe par chemin relatif dans eclipse?
J'ai importé des bibliothèques externes en utilisant un chemin absolu. Mais j'ai deux environnement de travail et la commutation entre linux et windows. les projets sont téléchargés à partir de SVN. Donc je me demandais si je peut importer ces bibliothèques par le chemin d'accès relatif.
Grâce
Vous devez vous connecter pour publier un commentaire.
Vous devez déclarer une variable (Java Build Path -> Ajouter une Variable... -> Configurer la Variable ... -> Nouveau) pour définir l'évolution de chemin sur chaque système (par exemple, FOO_BAR_HOME).
Que vous pouvez ajouter une Variable à la Bibliothèques et de le modifier pour pointer vers votre bibliothèque, comme
Prendre un regard sur les variables existantes pour l'utilisation.
Alternative, vous pouvez placer la bibliothèque dans le projet (par exemple le sous-dossier 'lib'). Si vous ajoutez à la bibliothèque à partir de cet emplacement ('Add Jars..." et non PAS " Add External Jars..."), il sera ajouté par le chemin d'accès relatif.
Add Variable...
et sélectionnez la variable que vous souhaitez utiliser (ou configurer un nouveau en utilisantConfigure Variables...
) - après l'insertion de la variableEdit...
(ajouter la refrence de votre bibliothèque sur le chemin donné par la variable).%FOO_BAR_HOME%/lib/ACTIVEMQ.jar
Hey j'ai eu ce problème, mais je peux offrir une solution alternative pour ceux qui veulent garder la bibliothèque requise localement mais à l'extérieur le répertoire du Projet en Java.
Tout d'abord, l'ajout de la bibliothèque que vous souhaitez à l'aide de l'habituel "Ajouter une Bibliothèque Externe/Jar" la méthode.
Si vous allez dans le répertoire home de votre Projet Java, vous devriez voir un
.classpath
fichier. Modifier cela avec n'importe quel éditeur de texte que vous le souhaitez, et recherchez la ligne qui fait référence à la bibliothèque que vous avez ajouté. Ensuite, dire que votre bibliothèque est appeléelib.jar
et vous avez un niveau à l'extérieur de votre projet.Permet de dire que la ligne dit:
<classpathentry kind="lib" path="C:/Users/Public/workspace/lib.jar"/>
Plutôt que de déplacer
lib.jar
pour le dossier de votre Projet, il vous suffit de modifier cette ligne pour dire:<classpathentry kind="lib" path="./../lib.jar"/>
et votre Java Build path sera mis à jour à regarder pour elle dans le répertoire d'un niveau au-dessus de l'actuel projet.
Aussi, à ma connaissance, si vous utilisez un Mac ou n'importe quel système d'exploitation basé sur Unix, puis l' .classpath fichier sera caché. Pour y accéder, vous pouvez essayer de l'ouvrir à partir de la Borne, en naviguant dans le répertoire de votre Projet Java utilise (le dossier du projet lui-même, et non pas l'espace de travail), puis vi ou vim
".classpath"
. Gardez à l'esprit que l'utilisation de ls ou même de la commande ls-a pourrait ne pas fonctionner, mais la confiance qu'il sera là.Une fois que vous avez modifié à l'emplacement spécifié, enregistrez le fichier et quand vous allez de nouveau dans eclipse, la référence doit être encore en activité. Gardez à l'esprit que la
"./"
au début est nécessaire. Juste avoir"../"
ne fonctionnera pas, ou, au moins, il n'a pas pour moi.Je l'ai fait très simple. J'ai eu une lib avec un chemin absolu dans mon classpath:
Donc j'ai juste enlevé le chemin d'accès absolu et il fonctionne. Maintenant, il est relatif xD:
ant
de commande. Mais quand je le lance à partir d'eclipe j'obtiens un message d'erreur disant qu'il ne peut pas trouver libsCela devrait être un commentaire sur la réponse précédente, mais l'étrange système de réputation de ce site m'oblige à poster une nouvelle réponse à la place... (pas de commentaires)
Vous pouvez utiliser un chemin relatif, mais il vous manque le"./' en elle.
Au lieu de
vous devez utiliser
Ajouter le dossier contenant les dépendances dans le projet JAVA. Sélectionnez et cliquez-droit sur les dépendances, "Ajouter au Build Path" apparaît comme un menu contextuel. Cela ajoute les dépendances avec le chemin d'accès relatif au lieu du chemin d'accès absolu.