Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JDK 12 incompatible #955

Open
chengenzhao opened this issue Mar 20, 2019 · 50 comments
Open

JDK 12 incompatible #955

chengenzhao opened this issue Mar 20, 2019 · 50 comments

Comments

@chengenzhao
Copy link

@chengenzhao chengenzhao commented Mar 20, 2019

Hi:
Today JDK 12 is released and one interesting change is they make javafx.scene.control.skin.TextFieldSkin members private
thus for JFoenix we will get some exception like:
java.lang.IllegalAccessException: class com.jfoenix.skins.JFXTextFieldSkin cannot access a member of class javafx.scene.control.skin.TextFieldSkin with modifiers "private"
at java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:355)

so any ideas how we should fix this problem?

@chengenzhao
Copy link
Author

@chengenzhao chengenzhao commented Mar 20, 2019

and I guess this problem has something to do with this issue:
https://bugs.openjdk.java.net/browse/JDK-8207942

@cupendra
Copy link

@cupendra cupendra commented Mar 20, 2019

Hi, we did face the relevant problem with the same component JFXTextFieldSkin while launching the application.

Here is the exception.
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
at com.jfoenix.skins.JFXTextFieldSkin.updateTextPos(JFXTextFieldSkin.java:109)
at com.jfoenix.skins.JFXTextFieldSkin.layoutChildren(JFXTextFieldSkin.java:93)
at javafx.scene.control.Control.layoutChildren(Control.java:601)

java.version : 12
java.vm.version : 12+33

we use java fx bundle 12

Thought this is relevant. Let me know if this needs to be created as a new issue

@micheljung
Copy link
Contributor

@micheljung micheljung commented Mar 30, 2019

I tried looking into it but @jfoenixadmin it seems that the branch JFoenix-9.0.0 hasn't been kept up to date since August 2018 :-(

I tried updating it but went over my head.

@jfoenixadmin
Copy link
Owner

@jfoenixadmin jfoenixadmin commented Apr 3, 2019

@micheljung no worries, I'll do the merge now.
However I'm not sure this will fix the compatibility with JDK 12

@Terkea
Copy link

@Terkea Terkea commented Jun 2, 2019

Same problem here with jfoenix 9.0.9
Has anybody figured out how to fix it?

@TheRedSpy15
Copy link

@TheRedSpy15 TheRedSpy15 commented Jun 19, 2019

I am also having a problem with jfoenix 9.0.9 and JDK 12

@TheRedSpy15
Copy link

@TheRedSpy15 TheRedSpy15 commented Jun 19, 2019

@jfoenixadmin not sure if you saw this already:

https://stackoverflow.com/a/55892520

@jfoenixadmin
Copy link
Owner

@jfoenixadmin jfoenixadmin commented Jul 4, 2019

@TheRedSpy15 that's how we are using reflection to access private fields. however I suspect that the field either renamed or removed thus causing this issue.

@sanjitmisra
Copy link

@sanjitmisra sanjitmisra commented Jul 15, 2019

I am facing this issue as well
java.lang.IllegalAccessException: class com.jfoenix.skins.JFXTextAreaSkin cannot access a member of class javafx.scene.control.skin.TextAreaSkin

@dubbadhar
Copy link

@dubbadhar dubbadhar commented Jul 19, 2019

@jfoenixadmin when will get a fix for this :(

@mmahapat
Copy link

@mmahapat mmahapat commented Oct 10, 2019

is this fixed??

@kowlown
Copy link

@kowlown kowlown commented Oct 18, 2019

Not fixed yet

@Dosibo-dot
Copy link

@Dosibo-dot Dosibo-dot commented Dec 10, 2019

Am also faced with the same issue

java.lang.IllegalAccessException: class com.jfoenix.skins.JFXTextFieldSkin cannot access a member of class javafx.scene.control.skin.TextFieldSkin with modifiers "private"

@pramudKumarage
Copy link

@pramudKumarage pramudKumarage commented Dec 22, 2019

did any one resolve this issue ?

@anis00723
Copy link

@anis00723 anis00723 commented Jan 21, 2020

Any fix?

@aviollet
Copy link

@aviollet aviollet commented Jan 31, 2020

any fix ?

@astonbitecode
Copy link

@astonbitecode astonbitecode commented Feb 7, 2020

Are there any plans for making JFoenix compatible with versions of Java greater than 11?

@OhenebaAduhene
Copy link

@OhenebaAduhene OhenebaAduhene commented Feb 28, 2020

any fix to the access block to JFXTextfield and JFXPassword in jdk12?

@ysyesilyurt
Copy link

@ysyesilyurt ysyesilyurt commented Apr 25, 2020

@jfoenixadmin We need some kind of a fix for this bug please, I don't want to downgrade to jdk11 just for this issue :(

@seinecle
Copy link

@seinecle seinecle commented Apr 26, 2020

Same here. Won't use the library as I am on JDK 14 / JavaFX 12

@viewv
Copy link

@viewv viewv commented May 6, 2020

Same here

class com.jfoenix.skins.JFXTextFieldSkin cannot access a member of class
javafx.scene.control.skin.TextFieldSkin (in module javafx.controls) with modifiers "private"

I am on JDK 14 and JavaFx 14, May be I have to downgrade to JDK 11?

@TheRedSpy15
Copy link

@TheRedSpy15 TheRedSpy15 commented May 8, 2020

@viewv yes currently that is the only solution

@rruffer
Copy link

@rruffer rruffer commented May 9, 2020

any fix ?

@x21L x21L mentioned this issue May 12, 2020
@mohammadne
Copy link

@mohammadne mohammadne commented May 13, 2020

please fix it.

@richidubey
Copy link

@richidubey richidubey commented Jun 3, 2020

PLEASE!!!!!!!!

@kowlown
Copy link

@kowlown kowlown commented Jun 3, 2020

It's dead Jim

@rruffer
Copy link

@rruffer rruffer commented Jun 3, 2020

no news on the subject?

@jfoenixadmin
Copy link
Owner

@jfoenixadmin jfoenixadmin commented Jun 4, 2020

Hallelujah, I'm pushing the fix today to JFoenix 9 branch :p, I'll update the maven jars later today to x.x.10

@ngacho
Copy link

@ngacho ngacho commented Jun 4, 2020

@seinecle
Copy link

@seinecle seinecle commented Jun 4, 2020

Hallelujah, I'm pushing the fix today to JFoenix 9 branch :p, I'll update the maven jars later today to x.x.10

YOU ROCK! THANKS !!!

@rruffer
Copy link

@rruffer rruffer commented Jun 4, 2020

Thank you. This is the most important lib in the fx world. Never let her die.

@jfoenixadmin
Copy link
Owner

@jfoenixadmin jfoenixadmin commented Jun 4, 2020

I've tested the fix on JDK 14 / JavaFX 14, @seinecle can you verify it's working on your environment? supposedly it should work, but it's better to test

@rruffer
Copy link

@rruffer rruffer commented Jun 4, 2020

I'm crazy to test. But I am hoping to upload the version for the maven.

https://mvnrepository.com/artifact/com.jfoenix/jfoenix

@jfoenixadmin
Copy link
Owner

@jfoenixadmin jfoenixadmin commented Jun 4, 2020

it's on maven

@seinecle
Copy link

@seinecle seinecle commented Jun 4, 2020

cc @jfoenixadmin > I've tested the fix on JDK 14 / JavaFX 14, @seinecle can you verify it's working on your environment? supposedly it should work, but it's better to test

In Netbeans in a modular project it gets me a warning that the module com.jfoenix is not found. I am a noob but can it be due to the module-info file in the lib?

@rruffer
Copy link

@rruffer rruffer commented Jun 4, 2020

error:

java.lang.reflect.InaccessibleObjectException: Unable to make boolean java.lang.reflect.AccessibleObject.setAccessible0(boolean) accessible: module java.base does not "opens java.lang.reflect" to module com.jfoenix
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:349)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:289)
at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:196)
at java.base/java.lang.reflect.Method.setAccessible(Method.java:190)
at com.jfoenix/com.jfoenix.adapters.ReflectionHelper.(ReflectionHelper.java:48)
at com.jfoenix/com.jfoenix.skins.JFXTextFieldSkin.(JFXTextFieldSkin.java:59)
at com.jfoenix/com.jfoenix.controls.JFXTextField.createDefaultSkin(JFXTextField.java:69)
at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:897)
at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89)
at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9542)
at javafx.graphics/javafx.scene.Scene.doCSSPass(Scene.java:569)
at javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2505)
at javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:412)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:411)
at javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:438)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:563)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:543)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:536)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:342)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
at java.base/java.lang.Thread.run(Thread.java:832)
java.lang.NullPointerException
at com.jfoenix/com.jfoenix.skins.JFXTextFieldSkin.createPromptNode(JFXTextFieldSkin.java:152)
at com.jfoenix/com.jfoenix.skins.JFXTextFieldSkin.lambda$new$1(JFXTextFieldSkin.java:70)
at com.jfoenix/com.jfoenix.skins.PromptLinesWrapper.init(PromptLinesWrapper.java:123)
at com.jfoenix/com.jfoenix.skins.JFXTextFieldSkin.(JFXTextFieldSkin.java:70)
at com.jfoenix/com.jfoenix.controls.JFXTextField.createDefaultSkin(JFXTextField.java:69)
at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:897)
at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89)
at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9542)
at javafx.graphics/javafx.scene.Scene.doCSSPass(Scene.java:569)
at javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2505)
at javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:412)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:411)
at javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:438)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:563)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:543)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:536)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:342)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
at java.base/java.lang.Thread.run(Thread.java:832)
java.lang.NullPointerException
at com.jfoenix/com.jfoenix.skins.JFXTextFieldSkin.createPromptNode(JFXTextFieldSkin.java:152)
at com.jfoenix/com.jfoenix.skins.JFXTextFieldSkin.lambda$new$1(JFXTextFieldSkin.java:70)
at com.jfoenix/com.jfoenix.skins.PromptLinesWrapper.init(PromptLinesWrapper.java:123)
at com.jfoenix/com.jfoenix.skins.JFXTextFieldSkin.(JFXTextFieldSkin.java:70)
at com.jfoenix/com.jfoenix.controls.JFXTextField.createDefaultSkin(JFXTextField.java:69)
at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:897)
at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89)
at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9542)
at javafx.graphics/javafx.scene.Scene.doCSSPass(Scene.java:569)
at javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2505)
at javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:412)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:411)
at javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:438)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:563)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:543)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:536)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:342)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
at java.base/java.lang.Thread.run(Thread.java:832)
java.lang.NullPointerException
at com.jfoenix/com.jfoenix.skins.JFXTextFieldSkin.createPromptNode(JFXTextFieldSkin.java:152)
at com.jfoenix/com.jfoenix.skins.JFXTextFieldSkin.lambda$new$1(JFXTextFieldSkin.java:70)
at com.jfoenix/com.jfoenix.skins.PromptLinesWrapper.init(PromptLinesWrapper.java:123)
at com.jfoenix/com.jfoenix.skins.JFXTextFieldSkin.(JFXTextFieldSkin.java:70)
at com.jfoenix/com.jfoenix.controls.JFXTextField.createDefaultSkin(JFXTextField.java:69)
at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:897)
at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89)
at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9542)
at javafx.graphics/javafx.scene.Scene.doCSSPass(Scene.java:569)
at javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2505)
at javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:412)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:411)
at javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:438)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:563)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:543)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:536)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:342)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
at java.base/java.lang.Thread.run(Thread.java:832)
java.lang.NullPointerException
at com.jfoenix/com.jfoenix.skins.JFXTextFieldSkin.createPromptNode(JFXTextFieldSkin.java:152)
at com.jfoenix/com.jfoenix.skins.JFXTextFieldSkin.lambda$new$1(JFXTextFieldSkin.java:70)
at com.jfoenix/com.jfoenix.skins.PromptLinesWrapper.init(PromptLinesWrapper.java:123)
at com.jfoenix/com.jfoenix.skins.JFXTextFieldSkin.(JFXTextFieldSkin.java:70)
at com.jfoenix/com.jfoenix.controls.JFXTextField.createDefaultSkin(JFXTextField.java:69)
at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:897)
at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89)
at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9542)
at javafx.graphics/javafx.scene.Scene.doCSSPass(Scene.java:569)
at javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2505)
at javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:412)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:411)
at javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:438)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:563)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:543)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:536)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:342)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
at java.base/java.lang.Thread.run(Thread.java:832)

@jfoenixadmin
Copy link
Owner

@jfoenixadmin jfoenixadmin commented Jun 4, 2020

@rruffer which JDK version are you using?

@rruffer
Copy link

@rruffer rruffer commented Jun 4, 2020

14

@jfoenixadmin
Copy link
Owner

@jfoenixadmin jfoenixadmin commented Jun 4, 2020

it's weird, I mean i do get a warning that the library is using reflection but not an error.
mmmm....

@jfoenixadmin
Copy link
Owner

@jfoenixadmin jfoenixadmin commented Jun 4, 2020

aha I see, try adding --illegal-access=warn to VM args when running the application
that should fix it for now, until I find a workaround for those reflection calls :s

@rruffer
Copy link

@rruffer rruffer commented Jun 4, 2020

not work for me. See my code: https://github.com/rruffer/library-fx

@jfoenixadmin
Copy link
Owner

@jfoenixadmin jfoenixadmin commented Jun 5, 2020

@rruffer, I took a look at your code and i noticed you are using maven. I have a question, how did you add the --illegal-access=warn vm arg?

@seinecle
Copy link

@seinecle seinecle commented Jun 5, 2020

Same issue:
java.lang.reflect.InaccessibleObjectException: Unable to make boolean java.lang.reflect.AccessibleObject.setAccessible0(boolean) accessible: module java.base does not "opens java.lang.reflect" to module com.jfoenix

Related discussion on Stackoverflow

@jfoenixadmin
Copy link
Owner

@jfoenixadmin jfoenixadmin commented Jun 5, 2020

Ok, so according to @seinecle link, adding an open to vm arg should fix it:
--add-opens java.base/java.lang.reflect=ALL-UNNAMED
or
--add-opens java.base/java.lang.reflect=com.jfoenix
@seinecle can you verify the fix?

@seinecle
Copy link

@seinecle seinecle commented Jun 5, 2020

Ok, so according to @seinecle link, adding an open to vm arg should fix it:
--add-opens java.base/java.lang.reflect=ALL-UNNAMED
or
--add-opens java.base/java.lang.reflect=com.jfoenix
@seinecle can you verify the fix?

@jfoenixadmin thx! I use Maven and not sure where I can add it but will investigate

@rruffer
Copy link

@rruffer rruffer commented Jun 5, 2020

@jfoenixadmin I am using eclipse. Right click on the project. I'm going to run as. Run configuration. Tab Arguments and vm arguments.

@rruffer
Copy link

@rruffer rruffer commented Jun 5, 2020

@jfoenixadmin with --add-opens java.base/java.lang.reflect=ALL-UNNAMED
and
--add-opens java.base/java.lang.reflect=com.jfoenix

work for me

@seinecle
Copy link

@seinecle seinecle commented Jun 5, 2020

@jfoenixadmin I am using eclipse. Right click on the project. I'm going to run as. Run configuration. Tab Arguments and vm arguments.

Yes but for a packaged app?

@rruffer
Copy link

@rruffer rruffer commented Jun 5, 2020

I haven't packed it yet. but I usually use launch4j or create a .bat to pass the arguments and start the application.

There is this way to configure maven too. But I still haven't tested it by packaging:

https://github.com/openjfx/javafx-maven-plugin
https://github.com/rruffer/library-fx/blob/master/pom.xml

<plugin>
<groupId> org.openjfx </groupId>
<artifactId> javafx-maven-plugin </artifactId>
<version> 0.0.4 </version>
<configuration>
<options>
<option> --add-opens </option>
<option> javafx.graphics/javafx.css=ALL-UNNAMED </option>
<option> --add-opens </option>
<option> javafx.base / com.sun.javafx.runtime = ALL-UNNAMED </option>
<option> --add-opens </option>
<option> javafx.controls / com.sun.javafx.scene.control.behavior = ALL-UNNAMED </option>
<option> --add-opens </option>
<option> javafx.controls / com.sun.javafx.scene.control = ALL-UNNAMED </option>
<option> --add-opens </option>
<option> javafx.base / com.sun.javafx.binding = ALL-UNNAMED </option>
<option> --add-opens </option>
<option> javafx.base / com.sun.javafx.event = ALL-UNNAMED </option>
<option> --add-opens </option>
<option> javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED </option>
<option> --add-exports </option>
<option> javafx.controls / com.sun.javafx.scene.control.behavior = com.jfoenix </option>
<option> --add-exports </option>
<option> javafx.controls / com.sun.javafx.scene.control = com.jfoenix </option>
<option> --add-exports </option>
<option> javafx.base / com.sun.javafx.binding = com.jfoenix </option>
<option> --add-exports </option>
<option> javafx.graphics/com.sun.javafx.stage=com.jfoenix </option>
<option> --add-exports </option>
<option> javafx.base / com.sun.javafx.event = com.jfoenix </option>
</options>
<mainClass> br.com.rruffer.library.App </mainClass>
</configuration>
</plugin>```
@seinecle
Copy link

@seinecle seinecle commented Jun 5, 2020

@jfoenixadmin works for me!
In a Maven project, place these arguments (--add-opens java.base/java.lang.reflect=com.jfoenix) in the javafx maven plugin, as instructed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
You can’t perform that action at this time.