Yoluma jar dosyaları klasörü ekleme


10

Kullanmam gereken java araçlarımız var. Araçlar jar dosyalarıyla dolu bir klasördedir. Belli nedenlerden dolayı bu klasörü yoluma eklemek istedim, ancak .bash_profile'ımı yeni klasörü $ PATH değişkenine dahil edip kaynakladıktan sonra çalıştırdıktan sonra çalışmıyor. Ayrıca çıkış yapmayı ve tekrar giriş yapmayı denedim ve bu da işe yaramadı. "Jarfile .jar dosyasına erişilemiyor" hata mesajını almaya devam ediyorum


Bunun bir izin sorunu olup olmadığını kontrol ettiniz mi?
matcheek

Cehaletimi mazur görmelisin, ama bunu nasıl kontrol edebilirim?
Davy Kavanagh

Bu yanıtı kontrol etmek isteyebilirsiniz: stackoverflow.com/questions/5569591/…
matcheek

Yanıtlar:


5

JAR dosyaları için, PATH ortam değişkenini değil CLASSPATH ayarlamanız gerekir.

BASH kullanıyorsanız: export CLASSPATH="$CLASSPATH:<full_path_to_each_jar_files>"

Ne .bashrcyaptığınızı bilmiyorsanız dosyaya eklemeniz daha iyi olur .

Misal:

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

Ancak elbette, jar dosyasını Ana sınıfla çağırıyorsanız, bunun için tam yolu kullanmanız gerekir:

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

Ancak, yürütmesini doğru olarak ayarlayabilir ve çalıştırabilirsiniz:

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

Ancak sınıf yolunuzun doğru olmasına dikkat etmeli ve gerekli tüm kavanozları listelemelisiniz.


Dışa aktarma denedim CLASSPATH = $ CLASSPATH: <my_new_path>, <my_new_path>, klasörün gerçek yolu ile değiştirildi, kaynak ve yine aynı sonuç.
Davy Kavanagh

Üzgünüm, hata değil, yol değil, koyduğunuz tam yol ile .jar dosyası, cevabı güncelleyeceğim
Huygens

Bu, her kavanoz dosyası için yeni bir giriş olan CLASSPATH'a eklemem gerekeceği anlamına mı geliyor? Bu jar dosyalarının yaklaşık 80 tanesi vardır.
Davy Kavanagh

@DavyKavanagh Not: ortam değişkenini içine .bashrceklemeyin, içine ekleyin .profile. Bkz Alternatif Bashrc için
Gilles 'SO dur olma kötülüğü'

@ DavyKavanagh yanıttaki uzun gecikme için özür dilerim. Ama evet, bu 80 jar dosyasını sınıf yoluna eklemek anlamına gelir.
Huygens

2

Araçlarınız,

 java -jar somejafile.jar

doğru yolu içerecek şekilde düzenlemelisiniz

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

Hayır, üzgünüm, araçlar kavanoz dosyaları
Davy Kavanagh
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.