Tôi đã xem xét biên dịch và chạy các chương trình Java từ dòng lệnh và tôi tiếp tục thấy các phiên bản khác nhau của thiết lập đường dẫn lớp: -cp vs -classpath. Tôi muốn nghĩ rằng đây là giống hệt nhau nhưng ai đó có thể hiểu biết nhiều hơn tôi xác nhận hoặc bác bỏ điều này?Đặt classpath java: -cp vs -classpath trong các phiên bản JDK 1.0 đến 1.8?
Trả lời
Bạn có thể dễ dàng tìm thấy câu trả lời bằng cách kiểm tra tài liệu chính thức. Từ Windows hay Unix phiên bản:
Lệnh
java
có một lựa chọn-cp
đó là một viết tắt cho-classpath
.
tương tự, đối với phiên bản unix, hãy xem đường dẫn tương ứng (thay thế các cửa sổ có unix trong đường dẫn ở trên). Sự khác biệt chính giữa các cửa sổ và Unix là các cửa sổ cho phép các ký tự đại diện trong định nghĩa CLASSPATH, nhưng unix thì không. Vì vậy, trong Unix, nếu bạn muốn chỉ định một ký tự đại diện, bạn cần phải làm một cái gì đó như: java -cp ".: Dir/*" – R71
Chúng giống nhau. Làm java -help
để xem tất cả các tùy chọn. -cp and -classpath
cũng làm như vậy.
Tôi đã bình chọn điều này, đơn giản vì có * là * một sự khác biệt giữa '-Djava.class.path' và nhóm tùy chọn đồng nghĩa' -classpath/-cp'. Khi sử dụng '-Djava.class.path', bạn không thể sử dụng các ký tự đại diện để chỉ định vị trí của một thư mục các tệp JAR. – jmort253