Додавання папки файлів jar до мого шляху


10

У мене є інструменти java, які мені потрібно використовувати. Інструменти знаходяться у папці, наповненій файлами jar. Я хотів додати цю папку до свого шляху з очевидних причин, але після редагування .bash_profile, щоб включити нову папку до змінної $ PATH та джерело її, вона не працює. Я також спробував вийти з системи та ввійти назад, і це не спрацювало. Я просто продовжую отримувати повідомлення про помилку "Неможливо отримати доступ до jarfile .jar"


Ви перевірили, чи це не проблема дозволів?
матчек

Вам доведеться вибачити моє незнання, але як я можу це перевірити?
Деві Кавана

Ви можете перевірити цю відповідь: stackoverflow.com/questions/5569591 / ...
matcheek

Відповіді:


5

Для файлів JAR вам потрібно встановити CLASSPATH, а не змінну середовища PATH.

Якщо ви використовуєте BASH, це: export CLASSPATH="$CLASSPATH:<full_path_to_each_jar_files>"

Краще додати його у файл, .bashrcякщо ви не знаєте, що робите.

Приклад:

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

Але звичайно, якщо ви все ще викликаєте файл jar з класом Main, ви повинні використовувати повний шлях до нього:

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

Однак ви можете встановити його правильне виконання та запустити його:

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

Але ви повинні подбати про те, щоб ваш класний шлях був правильним, і перерахуйте всю необхідну банку.


Я спробував експортувати CLASSPATH = $ CLASSPATH: <my_new_path>, при цьому <my_new_path> замінив фактичний шлях до папки, отримав джерело і все одно той же результат.
Деві Кавана

Вибачте за мою помилку, це не шлях, а файл .jar з повним викладеним шляхом, я оновлю відповідь
Huygens

Чи означає це, що мені доведеться додати до CLASSPATH новий запис для кожного файлу jar. Є близько 80 таких файлів jar.
Деві Кавана

@DavyKavanagh Примітка: не додайте змінну оточуючого середовища до цього .bashrc, не додайте до нього .profile. Дивіться альтернативу .bashrc
Жил 'SO- перестаньте бути злим'

@DavyKavanagh вибачте за тривалу затримку у відповіді. Але так, це означатиме додавання 80 jar файлів до classpath.
Гюйгенс

2

Якщо ваші інструменти - це сценарії, які містять такі команди, як

 java -jar somejafile.jar

тоді слід відредагувати їх, щоб вони містили правильний шлях

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

Ні, вибачте, інструменти - самі файли з банку
Деві Кавана
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.