Maven Repo and Coordinates for Latest Stable Jars

I am trying to include the main jME3 jars as part of a Gradle build for a POC project I’m working on. I had an “old” jME3 project from about a year ago that had the following repositories and dependencies declarations:

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

dependencies {
    compile(
        'org.codehaus.groovy:groovy-all:2.4.6'
        ,'org.apache.commons:commons-lang3:3.4'
        ,'ch.qos.logback:logback-parent:1.1.7'
        ,'com.jme3:jme3-core:3.0.10'
        ,'com.jme3:jme3-effects:3.0.10'
        ,'com.jme3:jme3-networking:3.0.10'
        ,'com.jme3:jme3-plugins:3.0.10'
        ,'com.jme3:jme3-jogg:3.0.10'
        ,'com.jme3:jme3-terrain:3.0.10'
        ,'com.jme3:jme3-blender:3.0.10'
        ,'com.jme3:jme3-jbullet:3.0.10'
        ,'com.jme3:jme3-niftygui:3.0.10'
        ,'com.jme3:jme3-desktop:3.0.10'
	,'com.jme3:jme3-lwjgl:3.0.10'
    )
}

These declarations were all valid at the point in time when I was working on that old project (meaning, all the jME3 jars existed at that Maven URL).

So I copy-n-pasted these into my new project’s build.gradle. When I run ./gradlew eclipse (which resolves all the declared dependencies into your Eclipse classpath) I get all sorts of “not found” errors. Sure enough, if I go to http://updates.jmonkeyengine.org/maven, I get a 404.

What is the new Maven URL and what are the latest stable Maven coordinates for all these jars? By “stable”, I mean non-alpha and non-beta, etc. Thanks in advance!

FWIW from the documentation page the following link is broken as well:

http://updates.jmonkeyengine.org/stable/3.0/engine

We lost the server that supported the “uploads” URL some time ago. JME 3.0 was never officially published as maven targets and can’t be published to jcenter as is because of too many non-public dependencies. If you want to continue using 3.0 then I think you will have to see if another monkey has setup a repo for them or manually stick them in your local maven repo.

Alternately, you can start using 3.1-beta1. One of the only reasons 3.1 isn’t marked “stable” yet is because the loss o the servers disrupted our build cycle. At this point, beta1 is kind of in a weird place because everyone who is using it has no problems with it and everyone else isn’t using it.

Thanks @pspeed, I’ll give it a try - is there a Maven Repo + URL for 3.1-beta1?

3.1 has been published to jcenter since alpha2, I think… so beta1 is there.

:thumbsup:

You may also use this example:

I’m using it and works fine.

Here’s the Clojure Leiningen coords that I’m currently using. Maybe saves someone a bit of extra-typing. It’s not the full list of what’s there on Maven, just the things that I use. It also includes the Simsilica repo and a couple of deps and the ZeroSeparation image painter (though the version might be old idk).

(defproject
  :repositories [["bintray" "http://jcenter.bintray.com"]
                 ; -- the "jme3-bintray" repo coordinate is only required if you are to use jBullet and/or jme3-ios (see below)
                 ; -- this requirement will be removed later
                 ["jme3-bintray" "http://dl.bintray.com/jmonkeyengine/org.jmonkeyengine"]]
  
  :dependencies [[org.clojure/clojure "1.8.0"]

                 ; -- jme version 3.1.0-beta1
                 ; -- general stuff
                 [org.jmonkeyengine/jme3-core "3.1.0-beta1"]
                 [org.jmonkeyengine/jme3-desktop "3.1.0-beta1"]
                 [org.jmonkeyengine/jme3-lwjgl "3.1.0-beta1"]
                 [org.jmonkeyengine/jme3-effects "3.1.0-beta1"]
                 [org.jmonkeyengine/jme3-networking "3.1.0-beta1"]
                 [org.jmonkeyengine/jme3-plugins "3.1.0-beta1"]
                 [org.jmonkeyengine/jme3-jogg "3.1.0-beta1"]
                 [org.jmonkeyengine/jme3-terrain "3.1.0-beta1"]
                 [org.jmonkeyengine/jme3-blender "3.1.0-beta1"]

                 ; -- if you're to use jBullet:
                 [org.jmonkeyengine/jme3-jbullet "3.1.0-beta1"]
                 ; -- if you're to use the native Bullet
                 [org.jmonkeyengine/jme3-bullet "3.1.0-beta1"]
                 [org.jmonkeyengine/jme3-bullet-native "3.1.0-beta1"]
                 [org.jmonkeyengine/jme3-bullet-native-android "3.1.0-beta1"]
                 ; -- Bullet/jBullet section ends
                
                 ; -- platform stuff
                 [org.jmonkeyengine/jme3-android "3.1.0-beta1"]
                 [org.jmonkeyengine/jme3-ios "3.1.0-beta1"]
                 
                 ; -- additional stuff
                 [com.zeroseparation.noncom/image-painter "0.0.1"]
                 [com.simsilica/zay-es "1.2.1"] 
                 [com.simsilica/lemur "1.8.2" :exclusions [org.jmonkeyengine/jme3-core
                                                           org.jmonkeyengine/jme3-lwjgl]]])

The simsilica stuff is all in jcenter. You do not need this back door repository reference.

(Actually, you shouldn’t need the JME one either… all of the published stuff is in jcenter.)

While I’m at it, I think you are accidentally loading both versions of bullet. You should pick jbullet or native bullet but not both.

Hmm, just checked that out and you are right: Simsilica libs work without the reference to the repo (but they did not back then!). However, if I remove the “jme3-bintray” reference, I get:

  Leiningen Managed Dependencies issue: problem resolving following dependencies: [org.jmonkeyengine/jme3-jbullet "3.1.0-beta1"], [org.jmonkeyengine/jme3-ios "3.1.0-beta1"]

are you sure these particular libs are available there?

As for jBullet: ah, yes, I’ll modify the code snippet to reflect this dichotomy.

No. ios is not officially released and published… so if you need it you must back-door it from bintray.

Jbullet is also not released because it depends on code that is not published. We’re doing our best to deprecate jbullet going forward in favor of native bullet.

I see… okay! I put a note there :slight_smile: