Library and source cleanups, bye-bye jMonkeyEngine3.jar


there were some changes in the jar distribution of jME3. Basically theres no jMonkeyEngine3.jar anymore but separate jME3-xxx.jar files. This allows for better separation of the parts for different operating systems, projects etc.

Basically jME3 consists of these jar files now:

jME3-core.jar - Platform-independent core libraries (math, animation, scenegraph etc)

jME3-effects.jar - Core jME3 effects (Water, PSSM, Filters etc.)

jME3-plugins.jar - Basic import plugins for jME3 (OgreXML and XML)

jME3-networking.jar - “Spidermonkey” networking library

jME3-jogg.jar - J-OGG plugin for jME3

→ needs j-ogg*.jar

jME3-desktop.jar - Desktop-only jME3 libraries

jME3-blender.jar - Blender loader

jME3-terrain.jar - Terrain system

jME3-jbullet.jar - jBullet physics

→ needs jbullet.jar, vecmath.jar, stack-alloc.jar

jME3-bullet.jar - Bullet physics

→ needs jME3-bullet-natives.jar

jME3-niftygui.jar - NiftyGUI

→ needs nifty.jar, nifty-default-controls.jar, eventbus.jar, xmlpull-xpp3.jar

jME3-lwjgl.jar - LWJGL Renderer

→ needs lwjgl.jar, jinput.jar, jME3-lwjgl-natives.jar

jME3-android.jar - Android Renderer

→ needs Android system


  • SDK users should have no problems when they use the library presets in the SDK, they will be updated accordingly.
  • Android users should go to the Android preferences of the project once to update the android build script.
  • The nightly still contains a jMonkeyEngine3.jar but it only contains the jme3tests and references the new jME3-xxx.jar libraries.



Now we just need to fatjar it, then proguard it, pack200 it, and LZMA2 it and it will be a jME3-16k game competition :slight_smile:

1 Like


Could I get an already compiled version of the jar files? (containing the .class files)? I know this might sound strange, but I use Maven, and I uploaded all the new jars to my repository. I am not sure what’s going on but some functions (like Cinematic.setTime()) I can see them in my Cinematic.class but Eclipse does not recognize them.

Huh? Just build using ant or download the nightly? :?

I already did… the issue is if I go to Cinematic.class insude my associated jars, I can find that function under

Cinematic.class; however my compiler does not recognize it.

I am sorry but the jar file is OK. If you use eclipse, make sure you do not have any overlaps in the “Java Build Path” e.g. when you import another project which contains jME3 sources (to maybe see them) they might override classes from any jar files you added. I recently looked a bit more into how Eclipse handles the class path and since apparently many users feel like importing whole eclipse projects you can easily mess up your project pretty much classpath-wise due to mixed settings. Maybe make sure you remove everything so that it gives you lots of errors and then add only the jar files to the build path.

Small update to this: jME3-networking.jar (spidermonkey) and jME3-effects (Water, PSSM, Filters etc.) have been split too now.

This makes the jME3-core.jar a slim 1MB of pure Awesomecode™, a basic android import with all core functions of jME3 is only 1,2MB like this.