Hi
After switching to JME v3.4.0-alpha6 I am getting this error when using Lemur
java.lang.IllegalAccessError: class com.simsilica.lemur.event.KeyAction tried to access private method 'void com.jme3.input.KeyNames.<init>()' (com.simsilica.lemur.event.KeyAction and com.jme3.input.KeyNames are in unnamed module of loader 'app')
at com.simsilica.lemur.event.KeyAction.<clinit>(KeyAction.java:52) ~[lemur-1.15.0-SNAPSHOT.jar:?]
at com.simsilica.lemur.component.TextEntryComponent.<clinit>(TextEntryComponent.java:106) ~[lemur-1.15.0-SNAPSHOT.jar:?]
at com.simsilica.lemur.TextField.createTextEntryComponent(TextField.java:130) ~[lemur-1.15.0-SNAPSHOT.jar:?]
at com.simsilica.lemur.TextField.setDocumentModel(TextField.java:123) ~[lemur-1.15.0-SNAPSHOT.jar:?]
at com.simsilica.lemur.TextField.<init>(TextField.java:109) ~[lemur-1.15.0-SNAPSHOT.jar:?]
at com.simsilica.lemur.TextField.<init>(TextField.java:73) ~[lemur-1.15.0-SNAPSHOT.jar:?]
at game.LoginState.initialize(LoginState.java:167) ~[main/:?]
at com.jme3.app.state.BaseAppState.initialize(BaseAppState.java:132) ~[jme3-core-3.4.0-alpha6.jar:3.4.0-alpha6]
at com.jme3.app.state.AppStateManager.initializePending(AppStateManager.java:316) ~[jme3-core-3.4.0-alpha6.jar:3.4.0-alpha6]
at com.jme3.app.state.AppStateManager.update(AppStateManager.java:346) ~[jme3-core-3.4.0-alpha6.jar:3.4.0-alpha6]
at com.jme3.app.SimpleApplication.update(SimpleApplication.java:254) ~[jme3-core-3.4.0-alpha6.jar:3.4.0-alpha6]
at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:160) ~[jme3-lwjgl-3.4.0-alpha6.jar:3.4.0-alpha6]
at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:196) ~[jme3-lwjgl-3.4.0-alpha6.jar:3.4.0-alpha6]
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:242) ~[jme3-lwjgl-3.4.0-alpha6.jar:3.4.0-alpha6]
at java.base/java.lang.Thread.run(Thread.java:832) [?:?]
I noticed KeyNames.java class recently modified (a private no-arg constructor added)
in this commit
Seems KeyAction class is instantiating it (for some reason?) here
and then using it here
which could/can be replaced by a static method call