Reporting an issue with SDK 3.4 installer with Java 17

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'

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!

1 Like

Thank you for the report.

This boggles down to The newest Release 3.3 can't be install on Mac · Issue #297 · jMonkeyEngine/sdk · GitHub. JDK this new is not simply supported. And we don’t currently ship JDK with the SDK ourselves on Mac unlike on other platforms.

However I’m surprised that you got it working with JDK 17 since the Pack200 is removed from there. I think we are still using it.