Thêm vào classpath trên OSX


78

Bất cứ ai có thể cho tôi biết làm thế nào để thêm vào classpath trên OSX?


3
Bạn muốn sửa lỗi một ứng dụng, nhiều ứng dụng cho một người dùng hay nhiều ứng dụng cho tất cả người dùng trên máy?
Thorbjørn Ravn Andersen

. javac -cp: / home / EC2-user / lib / *: QuickStart.java
Kanagavelu Sugumar

Câu trả lời:


100

Nếu bạn muốn cung cấp một tập hợp các tệp JAR (hoặc tệp .class) nhất định cho mọi ứng dụng Java trên máy, thì cách tốt nhất là thêm các tệp đó vào /Library/Java/Extensions.

Hoặc, nếu bạn muốn làm điều đó cho mọi ứng dụng Java, nhưng chỉ khi tài khoản Mac OS X của bạn chạy chúng, thì hãy sử dụng ~/Library/Java/Extensionsthay thế.

CHỈNH SỬA: Nếu bạn chỉ muốn thực hiện việc này cho một ứng dụng cụ thể, như Thorbjørn đã yêu cầu, thì bạn sẽ cần cho chúng tôi biết thêm về cách ứng dụng được đóng gói.


1
Đã lưu ngày của tôi để làm cho JUnit hoạt động trên Vim với plugin kiểm tra cú pháp Syntastic. Tôi tự hỏi tại sao có không bất kỳ ví dụ cài đặt đơn giản khác cho việc này trên www ...
ORY nhạc

1
Tại sao MAC không tôn trọng các tùy chọn -cp / -classpath, có vẻ như nó luôn tải các bình từ / Library / Java / JavaVirtualMachines
Kanagavelu Sugumar

1
-jar lệnh có thể quét / Thư viện / Java / Phần mở rộng, ~ / Thư viện / Java / Phần mở rộng
Kanagavelu Sugumar

Đây là một cách giải quyết tuyệt vời, nhưng tôi đồng ý với @kanagavelu Sẽ rất tốt nếu bạn biết lý do tại sao classpath bị bỏ qua.
JoshOrndorff

39

Trong OSX, bạn có thể đặt classpath từ đầu như sau:

export CLASSPATH=/path/to/some.jar:/path/to/some/other.jar

Hoặc bạn có thể thêm vào classpath hiện có như sau:

export CLASSPATH=$CLASSPATH:/path/to/some.jar:/path/to/some/other.jar

Đây là câu trả lời chính xác cho câu hỏi của bạn, tôi không nói đó là điều đúng hay sai; Tôi sẽ để lại điều đó cho những người khác nhận xét.


1
Tôi chỉ muốn thêm jar của mình vào classpath. Tại sao lại có đường dẫn đến hai cái lọ?
cegprakash

2
Anh ấy đang chỉ cách thêm nhiều hơn 1 cái lọ. Ông cũng ngụ ý rằng chỉ thêm 1 lọ chỉ đơn giản là phụ thêm :path/to/jarvào @cegprakash classpath hiện
ylun.ca

5

Để chỉ định một classpath cho một quy trình Java, bạn có thể thêm một tùy chọn classpath khi chạy lệnh Java.

Trong bạn dòng lệnh. Sử dụng java -cp "path/to/your/jar:." main thay vì chỉ java main

Tùy chọn cho Java biết nơi tìm kiếm các thư viện.


-1

Nếu shell của bạn là tcsh hoặc csh, bạn có thể đặt nó trong / etc / profile. Mở thiết bị đầu cuối, "vim / etc / profile" và thêm dòng sau:

setenv CLASSPATH (insert your classpath here)


-8

Bình thường không cần điều đó. Đầu tiên

echo $CLASSPATH

Nếu có thứ gì đó trong đó, bạn có thể muốn kiểm tra Ứng dụng -> Utilites -> Java.


2
Đã sửa lỗi cho họ, để tiết kiệm lượng phiếu phản đối.
Andrew Swan

Trả lại cho tôi một hàng trống?
Koray Tugay

2
nếu var env CLASSPATH không được đặt trong shell của bạn, bạn sẽ nhận được một hàng trống ... => nếu bạn muốn nó chứa thứ gì đó, bạn nên đặt nó trong .bash_profile, .bashrc hoặc bất kỳ tệp nguồn env vars nào mà shell của bạn có thể sử dụng. ..
Yordan Georgiev
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.