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"

Davy Kavanagh
sumber
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.

Huygens
sumber
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
Jari Laamanen
sumber
Tidak, maaf, alat itu sendiri adalah file jar
Davy Kavanagh