Menambahkan folder file jar ke jalur saya


10

Saya memiliki alat java yang perlu saya gunakan. Alat-alat berada di folder yang penuh dengan file jar. Saya ingin menambahkan folder ini ke jalur saya, untuk alasan yang jelas, tetapi setelah saya mengedit .bash_profile saya untuk memasukkan folder baru dalam variabel $ PATH, dan sumbernya, itu tidak berfungsi. Saya juga mencoba keluar, dan masuk kembali, dan itu tidak berhasil. Saya hanya mendapatkan pesan kesalahan "Tidak dapat mengakses jarfile .jar"


Sudahkah Anda memeriksa apakah ini bukan masalah izin?
matcheek

Anda harus memaafkan ketidaktahuan saya, tetapi bagaimana saya bisa memeriksanya?
Davy Kavanagh

Anda mungkin ingin memeriksa jawaban ini: stackoverflow.com/questions/5569591/…
matcheek

Jawaban:


5

Untuk file JAR, Anda harus mengatur CLASSPATH dan bukan variabel lingkungan PATH.

Jika Anda menggunakan BASH, itu adalah: export CLASSPATH="$CLASSPATH:<full_path_to_each_jar_files>"

Anda sebaiknya menambahkannya di file .bashrckecuali Anda tahu apa yang Anda lakukan.

Contoh:

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

Tetapi tentu saja, jika Anda masih menggunakan file jar dengan kelas Utama Anda harus menggunakan path lengkap untuk itu:

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

Namun, Anda dapat mengatur eksekusi dan menjalankannya:

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

Tetapi Anda harus berhati-hati agar classpath Anda benar dan daftarkan semua toples yang diperlukan.


Saya mencoba mengekspor CLASSPATH = $ CLASSPATH: <my_new_path>, dengan <my_new_path> diganti dengan path sebenarnya dari folder, bersumber dan masih hasilnya sama.
Davy Kavanagh

Maaf kesalahan saya, ini bukan path tetapi file .jar dengan path lengkap yang Anda masukkan, saya akan memperbarui jawabannya
Huygens

Apakah ini berarti saya harus menambahkan CLASSPATH, entri baru untuk setiap file jar. Ada sekitar 80 file jar ini.
Davy Kavanagh

@DavyKavanagh Catatan: jangan tambahkan variabel lingkungan ke .bashrc, tambahkan ke .profile. Lihat Alternatif .bashrc
Gilles 'SO- stop being evil'

@DavyKavanagh maaf atas keterlambatan lama dalam tanggapan. Tapi ya, ini berarti menambahkan file 80 jar ke classpath.
Huygens

2

Jika alat Anda adalah skrip, yang berisi perintah seperti

 java -jar somejafile.jar

maka Anda harus mengeditnya mengandung jalur yang benar

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

Tidak, maaf, alat itu sendiri adalah file jar
Davy Kavanagh
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.