Does the packaging of JMonkeyEngine applications as .app files still work?

Hi

I rarely have access to Mac computers and when it’s possible, they’re often too old to support OpenJDK 1.7 update 67 and later. Sorry for my dumb questions.

Does the .app packaging still work in JMonkeyEngine SDK? Those threads let me think that’s not the case:
http://hub.jmonkeyengine.org/forum/topic/prolem-with-mac-support-when-packaging/
http://hub.jmonkeyengine.org/forum/topic/cant-run-packaged-app-on-mac-osx/

Is it possible to package a game with JMonkeyEngine SDK as an .app file but under GNU Linux and Windows? (or is a Mac necessary to benefit of this feature?)

Currently, I use my own Ant script highly inspired by Packr (I still use its native launcher) and coupled with Apache Commons Imaging to do so under GNU Linux but I’m not sure that this is the smartest solution (it requires a single fat JAR). jmaasing confirmed that my package works like a charm under Mac OS X 10.9.4 with OpenJDK 1.7 update 65.

The thing is that Apple dropped support for “their” Java version but they still support it… :slight_smile: Meaning the Apple Java 1.6 auto-installer is still in place and if the user started a Java app they might already have Apples Java which is then used to run Java apps. All the while the official word from Apple is that one should use Oracles Java from now on.

Now as we consider the “we dropped support, use Oracles Java” part the relevant one, our .app packager now works with the Oracle Java native stub which basically only supports Oracles JDK/JRE. Still, when Apples Java is installed the stub might find that Java installation and fail in an unexpected way, leading to such reports.

Native packaging is available for all platforms, using launch4j on windows and a simple shell script (for now) on Linux.

@normen Sorry, English isn’t my mother tongue, maybe my explanations aren’t clear. Does the .app packager use any command only available under OS X? (for example hdiutil to create a DMG file or something else to create an .icns file with multiple icons).

Red Line RPM and jdeb could be used to create real packages, I will spend some time in using them this month. They can be used directly in Java or through Ant.

If someone is interested in my findings, let me know and I’ll contribute. If most of the developers are happy with the existing solutions, I won’t insist.

Do JMonkeyEngine users prefer using the system JVM or packaging the games with a JVM? Are those targeting GNU Linux happy with the shell script?

Personally, I like having consistent performance on each platform and I find OpenJDK excellent :slight_smile:

@gouessej said: @normen Sorry, English isn't my mother tongue, maybe my explanations aren't clear. Does the .app packager use any command only available under OS X? (for example hdiutil to create a DMG file or something else to create an .icns file with multiple icons).

Red Line RPM and jdeb could be used to create real packages, I will spend some time in using them this month. They can be used directly in Java or through Ant.

If someone is interested in my findings, let me know and I’ll contribute. If most of the developers are happy with the existing solutions, I won’t insist.

Do JMonkeyEngine users prefer using the system JVM or packaging the games with a JVM? Are those targeting GNU Linux happy with the shell script?

Personally, I like having consistent performance on each platform and I find OpenJDK excellent :slight_smile:

I don’t know what you’re asking exactly, maybe rather ask the questions instead of explaining them? Thats how I deal with not being a native speaker :wink:

Making the .app only requires copying files and zipping them with extended attributes, no OSX command line needed. You can make OSX .app distros on any platform with the jME SDK, same for all other platforms, like a windows .exe on a Mac, just check the checkbox.

Personally I prefer bundling the JVM but you will have to edit the launch4j and .app bundle files manually to achieve that at the moment. For the store ecosystems bundling the JVM will be imperative.

@normen How do you create the .icns file for the .app file? Is it managed by JMonkeyEngine SDK?

No, you have to supply a valid .icns file, otherwise the default monkey is used (all files used for desktop deployment are copied over from the “resources” directory, where you can edit them).