Ajout d'un dossier de fichiers jar à mon chemin


10

J'ai des outils java que je dois utiliser. Les outils se trouvent dans un dossier rempli de fichiers jar. Je voulais ajouter ce dossier à mon chemin, pour les raisons évidentes, mais après avoir modifié mon .bash_profile pour inclure le nouveau dossier dans la variable $ PATH et le source, cela ne fonctionne pas. J'ai également essayé de me déconnecter et de me reconnecter, et cela n'a pas fonctionné non plus. Je continue de recevoir le message d'erreur "Impossible d'accéder au fichier jar .jar"


Avez-vous vérifié s'il ne s'agit pas d'un problème d'autorisations?
matcheek

Vous devrez excuser mon ignorance, mais comment pourrais-je vérifier cela?
Davy Kavanagh

Vous voudrez peut-être vérifier cette réponse: stackoverflow.com/questions/5569591/…
matcheek

Réponses:


5

Pour les fichiers JAR, vous devez définir le CLASSPATH et non la variable d'environnement PATH.

Si vous utilisez BASH, c'est: export CLASSPATH="$CLASSPATH:<full_path_to_each_jar_files>"

Vous feriez mieux de l'ajouter dans le fichier, .bashrcsauf si vous savez ce que vous faites.

Exemple:

export CLASSPATH="$CLASSPATH:$HOME/java/lib/foebar.jar:$HOME/extra/lib/another.jar"

Mais bien sûr, si vous invoquez toujours le fichier jar avec la classe Main, vous devez utiliser le chemin complet pour cela:

java -jar $HOME/java/lib/main-prog.jar

Cependant, vous pouvez définir son droit d'exécution et l'exécuter:

chmod u+x $HOME/java/lib/main-prog.jar
export PATH=$PATH:$HOME/java/lib
main-prog.jar

Mais vous devez vous assurer que votre chemin de classe est correct et répertorier tous les pots requis.


J'ai essayé d'exporter CLASSPATH = $ CLASSPATH: <my_new_path>, avec le <my_new_path> remplacé par le chemin réel du dossier, provenant et toujours le même résultat.
Davy Kavanagh

Désolé mon erreur, ce n'est pas le chemin mais le fichier .jar avec le chemin complet que vous avez mis, je mettrai à jour la réponse
Huygens

Est-ce à dire que je vais devoir ajouter au CLASSPATH, une nouvelle entrée pour chaque fichier jar. Il existe environ 80 de ces fichiers jar.
Davy Kavanagh

@DavyKavanagh Remarque: n'ajoutez pas la variable d'environnement à .bashrc, ajoutez-la à .profile. Voir Alternative à .bashrc
Gilles 'SO- arrête d'être méchant'

@DavyKavanagh désolé pour le long retard dans la réponse. Mais oui, cela signifierait ajouter les 80 fichiers jar au chemin de classe.
Huygens

2

Si vos outils sont des scripts, qui contiennent des commandes comme

 java -jar somejafile.jar

alors vous devez les éditer pour contenir le chemin correct

 java -jar /full/path/to/somefile.jar

Non, désolé, les outils sont les fichiers jar eux
Davy Kavanagh
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.