Dodanie folderu plików jar do mojej ścieżki

10

Mam narzędzia Java, których muszę używać. Narzędzia znajdują się w folderze pełnym plików jar. Chciałem dodać ten folder do mojej ścieżki z oczywistych powodów, ale po edycji mojego pliku .bash_profile, aby uwzględnić nowy folder w zmiennej $ PATH, i źródła, nie działa. Próbowałem także wylogować się i zalogować ponownie, ale to też nie zadziałało. Po prostu pojawia się komunikat o błędzie „Nie można uzyskać dostępu do pliku jar .jar”

Davy Kavanagh
źródło
Czy sprawdziłeś, czy to nie jest problem z uprawnieniami?
Matcheek
Będziesz musiał usprawiedliwić moją ignorancję, ale jak mogę to sprawdzić?
Davy Kavanagh
Możesz sprawdzić tę odpowiedź: stackoverflow.com/questions/5569591/…
matcheek

Odpowiedzi:

5

W przypadku plików JAR należy ustawić zmienną środowiskową CLASSPATH, a nie zmienną PATH.

Jeśli używasz BASH, jest to: export CLASSPATH="$CLASSPATH:<full_path_to_each_jar_files>"

Lepiej dodaj go do pliku, .bashrcchyba że wiesz, co robisz.

Przykład:

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

Ale oczywiście, jeśli nadal wywołujesz plik jar z klasą Main, musisz użyć do tego pełnej ścieżki:

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

Możesz jednak ustawić jego poprawne wykonanie i uruchomić:

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

Ale musisz zadbać o to, aby ścieżka do klasy była poprawna i wypisać wszystkie wymagane słoiki.

Huygens
źródło
Próbowałem wyeksportować CLASSPATH = $ CLASSPATH: <moja_nazwa>, z <moją_nową_ścieżką> zastąpioną rzeczywistą ścieżką do folderu, uzyskaną i wciąż takim samym wynikiem.
Davy Kavanagh
Przepraszam, mój błąd, to nie jest ścieżka, ale plik .jar z pełną ścieżką, którą umieściłeś, zaktualizuję odpowiedź
Huygens,
Czy to oznacza, że ​​będę musiał dodać do CLASSPATH, nowy wpis dla każdego pliku jar. Istnieje około 80 takich plików jar.
Davy Kavanagh
@DavyKavanagh Uwaga: nie dodawaj zmiennej środowiskowej do .bashrc, dodaj ją do .profile. Zobacz Alternative to .bashrc
Gilles 'SO- przestań być zły'
@DavyKavanagh przepraszam za duże opóźnienie w odpowiedzi. Ale tak, oznaczałoby to dodanie 80 plików jar do ścieżki klasy.
Huygens
2

Jeśli twoje narzędzia to skrypty, które zawierają polecenia takie jak

 java -jar somejafile.jar

następnie należy je edytować, aby zawierały prawidłową ścieżkę

 java -jar /full/path/to/somefile.jar
Jari Laamanen
źródło
Nie, przepraszam, narzędzia to same pliki jar
Davy Kavanagh