I installed Big Sur on a VM with JDK 8, 11, and 15 to test java_home. % /usr/libexec/java_home -V
Matching Java Virtual Machines (3): 15.0.1 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 15" /Library/Java/JavaVirtualMachines/adoptopenjdk-15.jdk/Contents/Home 11.0.9 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 11" /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home 1.8.0_275 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home /Library/Java/JavaVirtualMachines/adoptopenjdk-15.jdk/Contents/Home If you have the environment variable JAVA_HOME set, java_home will return the value of JAVA_HOME regardless of the arguments provided to java_home. % export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home % /usr/libexec/java_home -v 1.8+ --failfast /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home % If JAVA_HOME is set to an empty string then an empty string is returned from java_home. % export JAVA_HOME= % /usr/libexec/java_home -v 1.8+ --failfast % If JAVA_HOME is not set and you use a '+' in the '-v' and also have '--failfast' it will not find a JDK. % unset JAVA_HOME % /usr/libexec/java_home -v 1.8+ --failfast The operation couldn’t be completed. Unable to locate a Java Runtime that supports (null). Please visit http://www.java.com for information on installing Java. The '-v' with a '+' works without '--failfast' but also returns the same as not using '-v' % unset JAVA_HOME % /usr/libexec/java_home -v 1.8+ /Library/Java/JavaVirtualMachines/adoptopenjdk-15.jdk/Contents/Home % /usr/libexec/java_home /Library/Java/JavaVirtualMachines/adoptopenjdk-15.jdk/Contents/Home % Given this information, I would say nbexec should be changed as follows. % git diff diff --git a/platform/o.n.bootstrap/launcher/unix/nbexec b/platform/o.n.bootstrap/launcher/unix/nbexec index ca7d16b13d..7be6a2f136 100644 --- a/platform/o.n.bootstrap/launcher/unix/nbexec +++ b/platform/o.n.bootstrap/launcher/unix/nbexec @@ -140,10 +140,13 @@ if [ -z "$jdkhome" ] ; then # try to find JDK case "`uname`" in Darwin*) + # check if JAVA_HOME is empty string since java_home will return the value of JAVA_HOME + if [ -z "$JAVA_HOME" ]; then + unset JAVA_HOME + fi # read Java Preferences if [ -x "/usr/libexec/java_home" ]; then - jdkhome=`/usr/libexec/java_home --version 1.8.0+ --failfast` - + jdkhome=`/usr/libexec/java_home --version 1.8+` # JDK1.8 as a fallback elif [ -f "/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/bin/java" ] ; then jdkhome="/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home" --Christian On Mon, Nov 16, 2020 at 5:02 PM Scott Palmer <swpal...@gmail.com> wrote: > Wouldn’t matter, java_home doesn’t work at all, at least not in any > reasonable way, on Big Sur. Regardless of the arguments. At least I can’t > get it to do anything useful on my install of Big Sur. > > Scott > > On Nov 16, 2020, at 10:53 AM, Christian Oyarzun <c...@oyarzun.net> wrote: > > > I believe part of the problem is in nbexec. While we fixed the installer > to remove /usr/libexec/java_home argument changes in Big Sur, we missed it > in nbexec. > > > https://github.com/apache/netbeans/commit/e9143f9d2057fe66e0bffd5db955cf228d364346 > > % git grep java_home > contrib/j2ee.weblogic9/src/org/netbeans/modules/j2ee/weblogic9/WLPluginProperties.java: > public static final String BEA_JAVA_HOME="bea_java_home"; // > NOI18N > contrib/j2ee.weblogic9/src/org/netbeans/modules/j2ee/weblogic9/WLPluginProperties.java: > public static final String SUN_JAVA_HOME="sun_java_home"; // > NOI18N > contrib/j2ee.weblogic9/src/org/netbeans/modules/j2ee/weblogic9/WLPluginProperties.java: > public static final String JAVA_HOME ="java_home"; // > NOI18N > nbbuild/installer/mac/newbuild/commonfiles/get_current_jdk.sh: if [ -x > "/usr/libexec/java_home" ]; then > nbbuild/installer/mac/newbuild/commonfiles/get_current_jdk.sh: > jdkhome=`/usr/libexec/java_home` > > nbbuild/installer/mac/newbuild/commonfiles/postinstall/postinstall:DEFAULT_JDK_HOME=`/usr/libexec/java_home` > nbbuild/installer/mac/newbuild/commonfiles/unpack200_to_dir.sh:javapath=`/usr/libexec/java_home > --version 1.8` > nbbuild/installer/mac/newbuild/dmg/distribution-nbide.dist: > if(system.files.fileExistsAtPath('/usr/libexec/java_home')) { > nbbuild/installer/mac/newbuild/dmg/distribution-nbide.dist: var > res = system.run("/usr/libexec/java_home", "--failfast"); > nbbuild/installer/mac/newbuild/dmg/distribution.dist: > if(system.files.fileExistsAtPath('/usr/libexec/java_home')) { > nbbuild/installer/mac/newbuild/dmg/distribution.dist: var res = > system.run("/usr/libexec/java_home", "--failfast"); > nbbuild/installer/mac/newbuild/pack200.sh:javaPath=`/usr/libexec/java_home > --version 1.8` > nbi/engine/native/launcher/unix/src/launcher.sh: if [ -x > "/usr/libexec/java_home" ]; then > nbi/engine/native/launcher/unix/src/launcher.sh: > javaOnMacHome=`/usr/libexec/java_home --failfast` > platform/o.n.bootstrap/launcher/unix/nbexec: if [ -x > "/usr/libexec/java_home" ]; then > platform/o.n.bootstrap/launcher/unix/nbexec: > jdkhome=`/usr/libexec/java_home --version 1.8.0+ --failfast` > > --Christian > > On Sat, Nov 14, 2020 at 4:45 PM Geertjan Wielenga < > geertjan.wiele...@googlemail.com> wrote: > >> So far, the only problem I've been able to identify via interactions in a >> NetBeans issue re Big Sur is that it seems that during the installation of >> Big Sur, various permissions appear to be overwritten so that the NetBeans >> launcher can't launch NetBeans. >> >> So, just check the permissions and, to verify further, use the command >> line with 'sudo' to run NetBeans, which, if it succeeds, tells you that >> your permissions are messed up. >> >> Gj >> >> On Sat, Nov 14, 2020 at 10:43 PM Scott Palmer <swpal...@gmail.com> wrote: >> >>> Does the NB installer try to find the JDK folder by calling >>> /usr/libexec/java_home ? If so, the java_home tool is completely broken >>> under Big Sur and will not return a JDK folder unless a JAVA_HOME >>> environment variable is *already* set to a valid JDK, in which case the >>> java_home tool always returns the value $JAVA_HOME. If JAVA_HOME isn't >>> already set, the java_home tool doesn't work at all. You can get it to >>> list other JDKs installed if JAVA_HOME is already set to a valid home >>> folder for one of the JDKs. >>> >>> I reported these issues to Apple during the Big Sur beta and the report >>> seemed to be reviewed by somebody that didn't have a clue what they were >>> doing and said java_home was working as designed! I reported a couple >>> issues that remain unresolved. Not sure if anyone has a contact at Apple >>> (the one email address I had bounced), but if you do maybe you can give >>> them a nudge. >>> >>> Scott >>> >>> >>> On Fri, Nov 13, 2020 at 11:19 AM Christian Oyarzun <c...@oyarzun.net> >>> wrote: >>> >>>> I think there are potentially two issues at play with MacOS. >>>> >>>> 1. NETBEANS-5004 Netbeans not allowed to access personal files and >>>> folder >>>> under macOS >>>> https://issues.apache.org/jira/browse/NETBEANS-5004 >>>> This does not have to do with Big Sur, but rather if you use JDK >>>> 11.0.9 >>>> you can no longer access files from your Desktop or Documents folders. >>>> From looking at the comments in the issue, the problem seems to be >>>> that >>>> NetBeans is launched with a shell script which is not signed. >>>> >>>> 2. And an issue with dialogs in Big Sur. >>>> >>>> http://mail-archives.apache.org/mod_mbox/netbeans-dev/202011.mbox/%3CDDBAC320-96AA-42AF-99D6-00F5AAA9566C%40jcmachado.net%3E >>>> Not sure if this is the same issue as it just says it does not work. >>>> >>>> http://mail-archives.apache.org/mod_mbox/netbeans-dev/202011.mbox/%3C78454EE5-6CBB-44A2-950D-0E24C85BC89E%40icloud.com%3E >>>> >>>> Not having Big Sur installed, I have not encountered #2. But I have seen >>>> NETBEANS-5004 with Catalina and JDK 11.0.9 and the workaround is to run >>>> NetBeans from the Terminal. >>>> >>>> --Christian >>>> >>>> On Fri, Nov 13, 2020 at 10:58 AM Laszlo Kishalmi < >>>> laszlo.kisha...@gmail.com> >>>> wrote: >>>> >>>> > Well, >>>> > >>>> > So far there is no open blocker issue reported against NetBeans. >>>> > Supporting an OS which just released to the public would be nice, but >>>> it >>>> > wasn't really in the scope in the last 3 months. >>>> > >>>> > As far as I knew the situation, some people reported weird rendering >>>> > issues, which could be the JDK, and lately that our Mac installer does >>>> > not work on BugSur, which have the work around of using our zip >>>> > distribution. >>>> > >>>> > These could be covered in the Release Notes. If we have real issues to >>>> > act on, those could be fixed in 12.3 (must be reported first though) >>>> > >>>> > Again, we are releasing the Source code. Though convenience binaries >>>> are >>>> > important, we cannot be expected to support every new and shiny right >>>> > after it is released. >>>> > >>>> > So we are still on track with the 15th of November cut of 12.2 >>>> release. >>>> > >>>> > >>>> > On 11/13/20 12:33 AM, Geertjan Wielenga wrote: >>>> > > >>>> > > I think we need to look at these new Mac related issues and >>>> shouldn’t >>>> > > release 12.2 until we have some response or plan around that. >>>> > > >>>> > > Gj >>>> > > >>>> > > On Fri, 13 Nov 2020 at 08:51, Laszlo Kishalmi >>>> > > <laszlo.kisha...@gmail.com <mailto:laszlo.kisha...@gmail.com>> >>>> wrote: >>>> > > >>>> > > Dear Apache NetBeans community, >>>> > > >>>> > > The second, and hopefully final release candidate of Apache >>>> NetBeans >>>> > > 12.2 is available. >>>> > > >>>> > > This one is fixing one blocker issue [NETBEANS-5007] No restart >>>> of >>>> > > language server after change of JDK home >>>> > > >>>> > > as of: https://github.com/apache/netbeans/pull/2531 >>>> > > >>>> > > Technically this codechange only affects the upcoming VSCode >>>> > > Extension, >>>> > > so our target date for cutting the release is still 15th of >>>> November. >>>> > > >>>> > > >>>> > > **The following rules are applied to the PR-s :** >>>> > > >>>> > > As this is a release candidate, if everything goes right the >>>> release >>>> > > build would be cut from the very same git commit as this one. >>>> > > >>>> > > Only fixes for blocker issues are allowed this time! The rules >>>> are >>>> > > the >>>> > > following: >>>> > > - The blocker issue, if found has to be announced and discussed >>>> on >>>> > > the >>>> > > developer mailing list first. Please note that if you have >>>> concern >>>> > > about >>>> > > the the licensing of some files/component please raise it now as >>>> > > those >>>> > > are considered blocking. >>>> > > - If there would be an eventual need of fix, please: >>>> > > - Mark the milestone as: 12.2 >>>> > > - Please add me (lkishalmi) as an additional reviewer >>>> > > >>>> > > That would also indicate that we do another release candidate >>>> when >>>> > > the >>>> > > issue is fixed. >>>> > > >>>> > > I've merged all the changes happened for NetBeans12.2-rc2 to the >>>> > > master >>>> > > as well: >>>> > > - If you feel the PR is ready for 12.3 then mark that milestone >>>> > > - Add the usual reviewers >>>> > > - API/SPI changes are fine >>>> > > - Structural changes are welcome if needed >>>> > > >>>> > > If everything goes right the Next action would be the vote on >>>> the >>>> > > release from 15th of November! >>>> > > >>>> > > >>>> > > The NetBeans 12.2-rc2 artifacts are here: >>>> > > >>>> > >>>> https://ci-builds.apache.org/job/Netbeans/job/netbeans-TLP/job/netbeans/job/release122/17/artifact/dist >>>> > > >>>> > > >>>> > > >>>> > > Link to the binary zip: >>>> > > >>>> > >>>> https://ci-builds.apache.org/job/Netbeans/job/netbeans-TLP/job/netbeans/job/release122/17/artifact/dist/netbeans/netbeans-12.2-rc2-bin.zip >>>> > > >>>> > > >>>> > > SHA512: >>>> > > >>>> > >>>> 5b9f8194f997ce72c4f4a4cec2b32c6c0422cc5d1a3bc7a2862e813797998b7474a5f93979fb1bb8e3222b31fbe03260a452d116fdca65238c520cde01174891 >>>> > > >>>> > > The sources are here: >>>> > > >>>> > >>>> https://ci-builds.apache.org/job/Netbeans/job/netbeans-TLP/job/netbeans/job/release122/17/artifact/dist/netbeans/netbeans-12.2-rc2-source.zip >>>> > > >>>> > > >>>> > > SHA512: >>>> > > >>>> > >>>> 9152c7ea1e87403ed4855ebbafbdcd431725bd1b685ad8dfeefb7c7418d1545a2eaf996e94df379516f22a6d3d41171c09571810df19e40a7d1cf5e5e578e269 >>>> > > >>>> > > Release schedule : >>>> > > >>>> > https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule >>>> > > >>>> > > Bug Priority Guidelines : >>>> > > >>>> > >>>> https://cwiki.apache.org/confluence/display/NETBEANS/Bug+Priority+Guidelines >>>> > > >>>> > > >>>> > > >>>> > > Thank you for your contributions! >>>> > > >>>> > > -- >>>> > > Laszlo Kishalmi >>>> > > Release Manager of Apache NetBeans 12.2 >>>> > > >>>> > > >>>> > > >>>> --------------------------------------------------------------------- >>>> > > To unsubscribe, e-mail: netcat-unsubscr...@netbeans.apache.org >>>> > > <mailto:netcat-unsubscr...@netbeans.apache.org> >>>> > > For additional commands, e-mail: >>>> netcat-h...@netbeans.apache.org >>>> > > <mailto:netcat-h...@netbeans.apache.org> >>>> > > >>>> > > For further information about the NetBeans mailing lists, visit: >>>> > > >>>> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists >>>> > > >>>> > >>>> >>>