Làm cách nào để kiểm tra xem Java JDK có được cài đặt trên Mac không?


125

Làm cách nào để kiểm tra xem Java SDK có được cài đặt trên máy Mac không?

Có một dòng lệnh cho điều này?


"Phần mềm đó không chạy" Đầu ra lỗi là gì?
Andrew Thompson

Câu trả lời:


182

javac -version trong một thiết bị đầu cuối sẽ làm


Tôi đã nhận được "javac 1.6.0_37" có tương đương với jdk 6 hoặc 7 không?
kiwi tức giận

7
Tuy nhiên, nếu Java không được cài đặt, một hộp thoại sẽ xuất hiện cho bạn biết rằng Java cần được cài đặt, vì vậy đây không phải là một lựa chọn tốt cho các tập lệnh.
một mọt sách được trả tiền vào

70

Bạn có thể tận dụng java_homenhị phân của người trợ giúp OS Xcho những gì bạn đang tìm kiếm.

Để liệt kê tất cả các phiên bản của JDK đã cài đặt:

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    1.8.0_51, x86_64:   "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home
    1.7.0_79, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home

Để yêu cầu đường dẫn JAVA_HOME của phiên bản JDK cụ thể, bạn có thể làm:

$ /usr/libexec/java_home -v 1.7
/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home

$ /usr/libexec/java_home -v 1.8
/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home

Bạn có thể tận dụng các lệnh trên trong tập lệnh của mình như thế này:

REQUESTED_JAVA_VERSION="1.7"
if POSSIBLE_JAVA_HOME="$(/usr/libexec/java_home -v $REQUESTED_JAVA_VERSION 2>/dev/null)"; then
    # Do this if you want to export JAVA_HOME
    export JAVA_HOME="$POSSIBLE_JAVA_HOME"
    echo "Java SDK is installed"
else
    echo "Did not find any installed JDK for version $REQUESTED_JAVA_VERSION"
fi

Bạn cũng có thể làm if-other và kiểm tra nhiều phiên bản java khác nhau.

Nếu bạn thích đầu ra XML, java_home cũng có tùy chọn -X để đầu ra bằng XML.

$ /usr/libexec/java_home --help
Usage: java_home [options...]
    Returns the path to a Java home directory from the current user's settings.

Options:
    [-v/--version   <version>]       Filter Java versions in the "JVMVersion" form 1.X(+ or *).
    [-a/--arch      <architecture>]  Filter JVMs matching architecture (i386, x86_64, etc).
    [-d/--datamodel <datamodel>]     Filter JVMs capable of -d32 or -d64
    [-t/--task      <task>]          Use the JVM list for a specific task (Applets, WebStart, BundledApp, JNI, or CommandLine)
    [-F/--failfast]                  Fail when filters return no JVMs, do not continue with default.
    [   --exec      <command> ...]   Execute the $JAVA_HOME/bin/<command> with the remaining arguments.
    [-R/--request]                   Request installation of a Java Runtime if not installed.
    [-X/--xml]                       Print full JVM list and additional data as XML plist.
    [-V/--verbose]                   Print full JVM list with architectures.
    [-h/--help]                      This usage information.

17

Nhập vào một thiết bị đầu cuối:

which javac

Nó sẽ cho bạn thấy một cái gì đó như

/usr/bin/javac

12
-1 cho câu trả lời: sự hiện diện của lệnh java trong đường dẫn không xác nhận rằng JDK đã được cài đặt (nhưng JRE)
Luigi R. Viggiano

Tôi đồng ý. Tôi có thể chạy "java nào" hoặc "javac nào", nhưng tôi gặp thông báo lỗi khi chạy "java --version" vì JDK chưa được cài đặt.
fanchyna

1
-1 Điều này là hoàn toàn sai. Tất cả các máy Mac đều có javacshim theo mặc định. Nó không liên quan đến việc Java có được cài đặt hay không.
Radon Rosborough

3

Lệnh dưới đây hoạt động khá tốt:

javac -version

Tôi cũng đã xác minh thủ công bằng cách điều hướng đến Thư mục Java trên máy Mac của mình

/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk

2

/usr/bin/java_home công cụ trả về 1 nếu java không được cài đặt.

Vì vậy, bạn có thể kiểm tra nếu java được cài đặt theo cách tiếp theo:

/usr/libexec/java_home &> /dev/null && echo "installed" || echo  "not installed"

1

Chỉ cần gõ javac. Nếu nó được cài đặt, bạn sẽ có được thông tin sử dụng, nếu không nó sẽ hỏi bạn có muốn cài đặt Java không.


0

Hãy chắc chắn rằng bạn xác định chính xác JDK của dự án và khởi động lại IntelliJ (khởi động lại đầy đủ).


0
  • Mở thiết bị đầu cuối.
  • chạy lệnh để xem:

    chuyển đổi javac

  • Ngoài ra, bạn có thể xác minh thủ công bằng cách đi đến vị trí cụ thể và sau đó kiểm tra. Để làm điều này chạy bên dưới lệnh trong thiết bị đầu cuối mac

    cd / Thư viện / Java / JavaVirtualMachines /

Sau đó chạy lslệnh trong terminal một lần nữa. Bây giờ bạn có thể thấy phiên bản & gói jdk nếu tồn tại trong máy tính của bạn.

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.