Hello jMonkey community.
I encountered an issue which I have worked around but which I thought I would report in case it helps anyone else, or in case it helps improve the SDK installer.
I have just installed the jME SDK 3.4 on my fairly new Mac. (Mac mini; 2020; M1 chip; running Big Sur 11.2.1) However, the SDK installer did not work at first. It runs, but neither produces an error nor actually launches anything.
I obtained more detail by using the command line, navigating within the installer directory structure and running the installer by hand :
cd '/some/temp/directory/jMonkeyEngine SDK Installer.app/Contents/MacOS'
./executable
The reported error is “Java SE Development Kit (JDK) was not found on this computer”, and the recommendation is “You can specify valid JDK location using --javahome installer argument.”
However, trying that does not work, and it turns out that’s a false indicator. If I edit the executable
script to set USE_DEBUG_OUTPUT=1
and re-run it (whether or not I specify --javahome
), I see this near the end of the detailed output :
[2022-09-25 23:14:57]> executable = {/Users/landru27/Library/Java/JavaVirtualMachines/openjdk-17/Contents/Home/bin/java}
[2022-09-25 23:14:57]> javaVersion = {17}
[2022-09-25 23:14:57]> javaVmVersion = {17+35-2724}
[2022-09-25 23:14:57]> vendor = {Oracle Corporation}
[2022-09-25 23:14:57]> osname = {Mac OS X}
[2022-09-25 23:14:57]> osarch = {x86_64}
[2022-09-25 23:14:57]> ... seems to be java indeed
[2022-09-25 23:14:57]> checking java version = {17+35}
[2022-09-25 23:14:57]> Min Java Version : 1.8.0
[2022-09-25 23:14:57]> Max Java Version :
[2022-09-25 23:14:57]> Java Vendor :
[2022-09-25 23:14:57]> Java OS Name :
[2022-09-25 23:14:57]> Java OS Arch :
[2022-09-25 23:14:57]> compatible = [0]
Clearly, this has to do with a disparity between how the Java version is expected to be reported, and how it is being reported in these circumstances.
I worked around this by brute-force hard-coding a comp=1
right after the version check logic in executable
, because I know my locally installed JDK is “version 1.8.0 or greater”. With that in place, the installer ran to completion, and I can launch the jME SDK.
I hope this issue report helps SDK users and the SDK maintainers in some way or another. Cheers!