I don’t usually ask for help on the Forum, but this one is weird, and it has to do with yet another precinct of jMonkeyEngine with which I’m unfamiliar. Maybe someone can help me, or maybe just documenting my issue will lead me to a solution.
I’m building a new release of Maud using the desktop deployment feature in the IDE. Maud is normally built using Gradle, but for deployment purposes I created an Ant-built project (named “AuntMaud”) based on the BasicGameTemplate. This was a non-trivial task because Maud depends on many external JARs and occasionally overrides classes/resources in JARs/libraries (which Ant apparently doesn’t allow). After much trial-and-error, I got AuntMaud running in the IDE (v3.2.2-stable-sdk1 on Windows7/x64).
After configuring desktop deployment and doing a
build clean, there are 5 ZIP files in the
dist folder. I do an “Extract All…” on the one for my platform (
Maud-Windows-x64.zip). But then I’m stuck; I can’t execute it:
- Double clicking on
Maud-Windows-x64\Maud\Maud.exe(or executing it from the command line) results in 2 alerts: “no main class.” and “Failed to launch JVM”, even though the correct main class (
maud.Maud) is specified in the project’s run properties.
- Double clicking on
Maud-Windows-x64\Maud\app\Maud.jarresults in an “A Java exception has occurred” alert from the Java Virtual Machine Launcher.
java -jar Maud.jarfrom the command line in
Maud-Windows-x64\Maud\appresults in the following:
java.lang.NoClassDefFoundError: com/jme3/bullet/collision/PhysicsCollisionObject at maud.model.cgm.Cgm.<init>(Cgm.java:91) at maud.model.cgm.LoadedCgm.<init>(LoadedCgm.java:57) at maud.model.cgm.EditableCgm.<init>(EditableCgm.java:98) at maud.model.EditorModel.<init>(EditorModel.java:117) at maud.Maud.<clinit>(Maud.java:109) Caused by: java.lang.ClassNotFoundException: com.jme3.bullet.collision.PhysicsCollisionObject at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 5 more Exception in thread "main"
The JAR that contains the
PhysicsCollisionObject class is named
Minie-0.6.5.jar. Sure enough, that JAR is missing from the
Maud-Windows-x64\Maud\app\lib folder. All the other libraries seem to be there, but not
Minie-0.6.5.jar is listed as a compile-time library in the project properties. It’s present in the project’s
dist\lib folder, but it was apparently skipped (or deleted) by desktop deployment. And not just for Windows-x64: the Linux and MacOSX ZIP files are also lacking this crucial JAR.
How should I proceed?