You can use jME3 with maven compatible build systems, the official maven repository for jME3 is at http://updates.jmonkeyengine.org/maven/

The group id for all jME3 libraries is com.jme3, the following artifacts are currently available (version 3.0.10):

  • jme3-core - Core libraries needed for all jME3 projects

  • jme3-effects - Effects libraries for water and other post filters

  • jme3-networking - jME3 networking libraries (aka spidermonkey)

  • jme3-plugins - Loader plugins for OgreXML and jME-XML

  • jme3-jogg - Loader for jogg audio files

  • jme3-terrain - Terrain generation API

  • jme3-blender - Blender file loader, only works on desktop renderers

  • jme3-jbullet - Physics support using jbullet (desktop only) Only jme3-jbullet OR jme3-bullet can be used

  • jme3-bullet - Physics support using native bullet, needs jme3-bullet-natives or jme3-bullet-natives-android (alpha)

  • jme3-bullet-natives - Native libraries needed for bullet (not jbullet) on desktop (alpha)

  • jme3-bullet-natives-android - Native libraries needed for bullet (not jbullet) on android (alpha)

  • jme3-niftygui - NiftyGUI support for jME3

  • jme3-desktop - Parts of the jME3 API that are only compatible with desktop renderers, needed for image loading on desktop

  • jme3-lwjgl - Desktop renderer for jME3

  • jme3-android - Android renderer for jME3

  • jme3-ios - iOS renderer for jME3

For a basic desktop application to work you need to import at least

  • jme3-core

  • jme3-desktop

  • jme3-lwjgl

For a basic android application to work you need to import at least

  • jme3-core

  • jme3-android

Gradle

If you happen to be using Gradle, you’ll first need to add the repository, perhaps so it looks like this:

repositories {
    mavenCentral()
    maven {
        url 'http://updates.jmonkeyengine.org/maven'
    }
}

Next you’ll need to add dependencies on all the JARs – here’s what it looks like for all desktop-related JARs, selecting the latest patch version:

dependencies {
    compile 'com.jme3:jme3-core:3.0.+'
    compile 'com.jme3:jme3-effects:3.0.+'
    compile 'com.jme3:jme3-networking:3.0.+'
    compile 'com.jme3:jme3-plugins:3.0.+'
    compile 'com.jme3:jme3-jogg:3.0.+'
    compile 'com.jme3:jme3-terrain:3.0.+'
    compile 'com.jme3:jme3-blender:3.0.+'
    compile 'com.jme3:jme3-jbullet:3.0.+'
    compile 'com.jme3:jme3-niftygui:3.0.+'
    compile 'com.jme3:jme3-desktop:3.0.+'
    compile 'com.jme3:jme3-lwjgl:3.0.+'
}

If you’d rather factor out the “3.0 bit, you can also do this:

def jmonkeyengine_version = '3.0'

dependencies {
    compile "com.jme3:jme3-core:$jmonkeyengine_version.+"
    compile "com.jme3:jme3-effects:$jmonkeyengine_version.+"
    compile "com.jme3:jme3-networking:$jmonkeyengine_version.+"
    compile "com.jme3:jme3-plugins:$jmonkeyengine_version.+"
    compile "com.jme3:jme3-jogg:$jmonkeyengine_version.+"
    compile "com.jme3:jme3-terrain:$jmonkeyengine_version.+"
    compile "com.jme3:jme3-blender:$jmonkeyengine_version.+"
    compile "com.jme3:jme3-jbullet:$jmonkeyengine_version.+"
    compile "com.jme3:jme3-niftygui:$jmonkeyengine_version.+"
    compile "com.jme3:jme3-desktop:$jmonkeyengine_version.+"
    compile "com.jme3:jme3-lwjgl:$jmonkeyengine_version.+"
}