Running through the apps in the jme3-examples subproject, I’ve already discovered several issues. (Apparently these apps are seldom run. Or if they are, those who run them never file issues at GitHub.) I believe the issues I’ve discovered are all in the examples themselves. In any case, the issues are not yet fixed in master, so they shouldn’t delay 3.2.2-stable.
Does anyone testing 3.2.2-beta1 (or planning to test it) want more time?
I run on master without exception, but rarely run into issues - if at all. I don’t often run the examples so much as refer to them for learning, else I’d happily report anything I find.
I’ve tested 3.2.2-beta1 with my game, and everything works fine.
The only issue I encountered was with Nifty:
java.lang.NoClassDefFoundError: org/bushe/swing/event/EventServiceExistsException
at com.jme3.niftygui.NiftyJmeDisplay.<init>(NiftyJmeDisplay.java:262)
at botwar.menu.MenuAppState.initialize(MenuAppState.java:29)
at com.jme3.app.state.BaseAppState.initialize(BaseAppState.java:124)
at com.jme3.app.state.AppStateManager.initializePending(AppStateManager.java:251)
at com.jme3.app.state.AppStateManager.update(AppStateManager.java:281)
at com.jme3.app.SimpleApplication.update(SimpleApplication.java:236)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:151)
at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:197)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:232)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: org.bushe.swing.event.EventServiceExistsException
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 10 more
It seems this is because the nifty.jar in jME3.2-beta1.zip doesn’t contain the org.bushe package (or the org.jgfont package, for that matter). So, I could only get 3.2.2-beta1 to work if I used the 3.2.1 version of that JAR (nifty-1.4.2.jar).
In 3.2.1 they’re in nifty-1.4.2.jar. So, in jME3.2-beta1.zip, I would expect to find them in nifty.jar. Everything else that’s in nifty-1.4.2.jar is in nifty.jar; it’s just the org package that’s missing.
I’m looking at a “jMonkeyEngine 3.2.1 stable” ZIP file, freshly downloaded from GitHub, and I don’t see nifty-1.4.2.jar. I do see nifty.jar in the lib folder.
This 3.2.1 libraries you’re using … where did they come from?
Ah, yes, so the JARs in both ZIPs are exactly the same. It’s probably OK then.
nifty-1.4.2.jar is in the jmonkeyplatform installation: C:\Program Files\jmonkeyplatform-3.2.1\jmonkeyplatform\libs\nifty-1.4.2.jar. It’s exactly the same as nifty.jar, except it also contains these org.bushe and org.jgfont packages.
Would it be possible to do a 3.2.2 release of the SDK? This could just be the same version of the SDK that was in 3.2.1, but including version 3.2.2 of the engine.
Running jmonkeyplatform-windows-x64.exe, I seem to be getting the following exception (and then the installation rolls back):
java.lang.NullPointerException
at org.mycompany.ConfigurationLogic.setExecutableContents(ConfigurationLogic.java:215)
at org.mycompany.ConfigurationLogic.install(ConfigurationLogic.java:202)
at org.netbeans.installer.product.components.Product.install(Product.java:358)
at org.netbeans.installer.wizard.components.actions.InstallAction.execute(InstallAction.java:155)
at org.netbeans.installer.wizard.components.WizardAction$1.run(WizardAction.java:123)
Neither can I imagine any reason for such an Exception nor does it make any sense: new File() cannot return null, File#listFiles() should not return null but an empty array and pure iterating over an array shouldn’t cause any trouble at all.
Can you try backupping and then deleting your contents in C:\Users\James\AppData\Local.jmonkeyplatform (-installer)?
Unforunately, File.listFiles() can return null in some cases. From the javadoc:
“Returns null if this abstract pathname does not denote a directory, or if an I/O error occurs.”
I’ve seen this in my day job from time to time and it’s a pain. For us it was always file permission issues.