How do I fix the Java command-line error in macOS Sierra?
Answer: If you upgraded to macOS 10.12 Sierra and had previously installed Java, you might see a dialog box appear with the following text:
To use the "java" command-line tool you need to install a JDK.
The window, which appears at startup and other seemingly random times, looks like this:
The text below the error message says, "Click 'More Info...' to visit the Java Developer Kit download website." The problem is when you click this button, you are simply directed to the Safari information page on Apple's website, which doesn't help.
Instead, you need to download a compatible version of Java for macOS 10.12 directly from Apple. You can download the Java installer here:
Official Apple download: Java for OS X
After downloading the file, open the .PKG file named JavaForOSX.pkg and run the installer. This will install the latest fully-compatible version of Java on your Mac. After you install this version, the annoying pop-up window should no longer appear.
Advanced Information
Why not install the latest version of Java available from Oracle?
Java for OS X is now maintained and updated by Oracle. You can get a newer version of Java from Oracle, but it may cause incompatibility issues with your web browsers and other programs on your Mac. The Java command-line error message is a good example of this.
However, if you need the latest version of Java (e.g., for Android development) you can download it from Oracle's Java Download Page.
Select the Java Runtime Environment version 8u111 for Mac OS X as shown below. Make sure to read and accept the license agreement first or the download link won't work.
Open the .DMG file and run the installer named Java 8 Update 111.app. This will install the latest build of Java 8 update 111 on your Mac. However, after you install this version, the annoying pop-up window may appear again.
Why not install the latest version of Java (8u112)?
You can also install Java 8u112, but this version is even less compatible with macOS Sierra.
Installing Java 8u112 in macOS 10.12.1 prompts the OS to offer an earlier version (see below).
If you try to install the older version from the macOS Software Update window, you will get an error saying you have a newer version installed. If you choose Skip This Version, you can keep the version you just installed, but you will also continue to get the Java error message.
If you install the latest version of Java, you may have to uninstall Java completely in order to install a compatible version.
You can uninstall Java by opening Terminal (/Applications/Utilities/Terminal) and running three commands. You will have to enter your administrative password after the first command because you must run the commands as the superuser (sudo).
- sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
- sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane
- sudo rm -fr ~/Library/Application\ Support/Java
After uninstalling Java, go back to Apple's Java download page to download the Java build that is compatible with macOS Sierra.
Important: This solution may also fix a similar Java error in OS X 10.11 El Capitan and OS X 10.10 Yosemite.