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"

Davy Kavanagh
la source
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.

Huygens
la source
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
Jari Laamanen
la source
Non, désolé, les outils sont les fichiers jar eux
Davy Kavanagh