2013-08-09 41 views
252

Im chỉ sử dụng Mac ở nơi làm việc và tôi cần đặt JAVA_HOME thành đường dẫn thích hợp của JDK. Tôi đã tải xuống JDK, cài đặt nó và bây giờ tôi không thể tìm thấy nó ở bất cứ đâu. Tôi đã nhìn vào internet cho các giải pháp, nhưng không có thư mục Thư viện/Java.Đường dẫn JDK trên máy Mac là gì?

+8

tìm thấy tại đây: /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/ –

+0

Bạn nên sử dụng/Library/Java/JavaVirtualMachines để IDEA chọn nguồn và javadoc đúng cách. Tại thời điểm viết bài này, đường dẫn chính xác là /Library/Java/JavaVirtualMachines/1.6.0_22-b04-307.jdk/Contents/Home -http: //stackoverflow.com/questions/470882/intellij-idea-setup- on-os-x – Sam003

+0

Trên Mac Sierra Tôi/Thư viện/Java/JavaVirtualMachines có jdk và System Preferences> Java khác nhau giữa 2 cái gì? – vikramvi

Trả lời

510

Vị trí đã thay đổi từ Java 6 (cung cấp bởi Apple) để Java 7 trở đi (cung cấp bởi Oracle). Điều tốt nhất generic cách để tìm thấy điều này là để chạy

/usr/libexec/java_home 

Đây là cách tự nhiên được hỗ trợ để tìm hiểu cả hai đường dẫn đến việc cài đặt Java mặc định cũng như tất cả những người khác có mặt.

Nếu bạn kiểm tra văn bản trợ giúp (java_home -h), bạn có thể sử dụng lệnh này để khởi động một chương trình Java trên OS X (java_home --exec ...) một cách đáng tin cậy, với khả năng xác định rõ ràng phiên bản và kiến ​​trúc Java mong muốn hoặc thậm chí yêu cầu người dùng cài đặt nếu thiếu.

Một cách tiếp cận cho người đi bộ hơn, nhưng một trong đó sẽ giúp bạn theo dõi đặc biệt mà cài đặt Java lệnh java giải quyết vào, đi như thế này:

  1. chạy

    which java 
    
  2. nếu điều đó mang đến cho bạn giống như /usr/bin/java, là liên kết tượng trưng đến vị trí thực, chạy

    ls -l `which java` 
    

    Trên hệ thống của tôi, điều này có kết quả đầu ra

    /usr/bin/java -> /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/bin/java 
    

    và từ đó bạn có thể đọc các thư mục home Java;

  3. nếu usr/bin/java điểm khác liên kết tượng trưng, ​​đệ quy áp dụng phương pháp tương tự với

    ls -l <whatever the /usr/bin/java symlink points to> 
    

Một biến thể quan trọng là thiết lập bạn nhận được nếu bạn bắt đầu bằng cách cài đặt Java của Apple và sau đó cài đặt Của Oracle. Trong trường hợp này Bước 2 ở trên sẽ cung cấp cho bạn

/usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Commands/java 

và đặc biệt java nhị phân vẫn còn sơ khai mà sẽ giải quyết thực tế lệnh java gọi bằng cách tham khảo ý kiến ​​các biến môi trường JAVA_HOME, và nếu nó không được thiết lập hay không trỏ vào một thư mục nhà Java, sẽ quay trở lại để gọi java_home. Điều quan trọng là phải ghi nhớ điều này khi gỡ lỗi thiết lập của bạn.

+2

cảm ơn! Bước 2 là một mẹo tuyệt vời với liên kết tượng trưng! –

+25

tìm thấy nó ở đây: /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/ –

+1

Và làm thế nào để loại bỏ Java của Apple? – Chao

5

Trên Mac của tôi:

/System/Library/Frameworks/JavaVM.framework/Home/ 

btw, cậu cố gắng which java?

24

Có một cái nhìn và xem nếu JDK là tại địa chỉ:

Library/Java/JavaVirtualMachines/ Hoặc /System/Library/Java/JavaVirtualMachines/

Kiểm tra bài đăng SO trước đó: JDK on OSX 10.7 Lion

+1

Đó là những gì tôi cần để thêm JDK 1.8 vào bản cài đặt Eclipse của tôi. Cảm ơn bạn! –

+1

Đó là con đường phù hợp với tôi với JDK 1.8 và Mac OS X Yosemite. Mặc dù đường dẫn đầy đủ mà tôi cần cho thiết lập cho JAVA_HOME là /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/ –

Các vấn đề liên quan