Thêm một thư mục các tệp jar vào đường dẫn của tôi


10

Tôi có các công cụ java mà tôi cần sử dụng. Các công cụ nằm trong một thư mục chứa đầy các tệp jar. Tôi muốn thêm thư mục này vào đường dẫn của mình, vì những lý do rõ ràng, nhưng sau khi tôi chỉnh sửa .bash_profile của mình để đưa thư mục mới vào biến $ PATH và lấy nguồn, nó không hoạt động. Tôi cũng đã thử đăng xuất và đăng nhập lại và điều đó cũng không hiệu quả. Tôi chỉ tiếp tục nhận được thông báo lỗi "Không thể truy cập jarfile .jar"


Bạn đã kiểm tra nếu nó không phải là một vấn đề quyền?
mai mối

Bạn sẽ phải bào chữa cho sự thiếu hiểu biết của mình, nhưng làm thế nào tôi có thể kiểm tra điều này?
Davy Kavanagh

Bạn có thể muốn kiểm tra câu trả lời này: stackoverflow.com/questions/5569591/
Khăn

Câu trả lời:


5

Đối với các tệp JAR, bạn phải đặt CLASSPATH chứ không phải biến môi trường PATH.

Nếu bạn đang sử dụng BASH, đó là: export CLASSPATH="$CLASSPATH:<full_path_to_each_jar_files>"

Bạn tốt hơn nên thêm nó trong tập tin .bashrctrừ khi bạn biết những gì bạn đang làm.

Thí dụ:

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

Nhưng tất nhiên, nếu bạn vẫn đang gọi tệp jar với lớp Chính, bạn phải sử dụng đường dẫn đầy đủ cho nó:

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

Tuy nhiên, bạn có thể đặt quyền thực thi của nó và chạy nó:

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

Nhưng bạn phải lưu ý rằng classpath của bạn là chính xác và liệt kê tất cả các jar cần thiết.


Tôi đã thử xuất CLASSPATH = $ CLASSPATH: <my_new_path>, với <my_new_path> được thay thế bằng đường dẫn thực của thư mục, có nguồn gốc và vẫn giữ nguyên kết quả.
Davy Kavanagh

Xin lỗi, lỗi của tôi, đó không phải là đường dẫn mà là tệp .jar với đường dẫn đầy đủ bạn đặt, tôi sẽ cập nhật câu trả lời
Huygens

Điều này có nghĩa là tôi sẽ phải thêm vào CLASSPATH, một mục mới cho mỗi tệp jar. Có khoảng 80 tệp jar này.
Davy Kavanagh

@DeefKavanagh Lưu ý: không thêm biến môi trường vào .bashrc, thêm nó vào .profile. Xem Thay thế cho .bashrc
Gilles 'SO- ngừng trở nên xấu xa'

@DeefKavanagh xin lỗi vì sự chậm trễ trong phản hồi. Nhưng vâng, điều này có nghĩa là thêm 80 tệp jar vào đường dẫn lớp.
Huygens

2

Nếu công cụ của bạn là tập lệnh, chứa các lệnh như

 java -jar somejafile.jar

sau đó bạn nên chỉnh sửa chúng để chứa đường dẫn chính xác

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

Không, xin lỗi, các công cụ là chính các tệp jar
Davy Kavanagh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.