MacOS Big Sur makes changes related to
JAVA_HOME and will result in an error message stating
No JDK found despite there being a JDK. Here's how I resolved it.
From the command line, I ran
/usr/libexec/java_home -V. This will output the Java VMs that are installed:
Matching Java Virtual Machines (4):
14.0.1 (x86_64) "UNDEFINED" - "OpenJDK 14.0.1" /usr/local/Cellar/openjdk/14.0.1/libexec/openjdk.jdk/Contents/Home
1.8.271.09 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
1.8.0_271 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home
1.8.0_251 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home
If you don’t see JDK 1.8, then you should go to Oracle.com and install it. Assuming you have 1.8, you should set that as your
JAVA_HOME with the following command,
Note that your location may be slightly different from mine; you should use the location for 1.8 that was present in your list of VMs when you ran
/usr/libexec/java_home -V, above.
I would also recommend you add this to your shell profile so that the current
JAVA_HOME is set the next time you reopen your shell. I'm using ZSH as my shell, so the command I used was
echo 'export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home"' >> ~/.zshrc.
Now you’re almost home… just make sure you have Homebrew and then run
brew cask install netbeans.
This should enable you to install it without issue and will place it in your Applications folder.
Hope that helps. :)