-
Notifications
You must be signed in to change notification settings - Fork 19
Description
I have trouble launching the designer both from within an IDE, from the maven exec task, and from the binary distribution.
I tried with a JDK 11 and 17 packaged by Amazon Zulu, which comes with JavaFX included, and got various errors. I also tried with a manual install of the JavaFX 17 SDK and with the JAVAFX_HOME
env var that is recognized by our launch script and got the same errors.
@adangel can you describe your setup to run the designer with JavaFX 17?
Using pmd-dist-bin
Launches with JDK 11, but I get the following warning:
On JRE 9+, the following VM argument makes the controls smarter:
--add-opens javafx.controls/javafx.scene.control.skin=ALL-UNNAMED
Apparently this check doesn't match. The reported $java_vendor $java_ver
is openjdk 110
.
With JDK 17 I get the following:
PMD Rule Designer (v 7.0.0-rc1) initializing...
Exception in Application start method
java.lang.RuntimeException: Exception in Application start method
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:893)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.IllegalAccessError: class net.sourceforge.pmd.util.fxdesigner.util.DesignerUtil (in unnamed module @0x26ea8c2b) cannot access class com.sun.javafx.fxml.builder.ProxyBuilder (in module javafx.fxml) because module javafx.fxml does not export com.sun.javafx.fxml.builder to unnamed module @0x26ea8c2b
When adding --add-opens javafx.fxml/com.sun.javafx.fxml.builder=ALL-UNNAMED
explicitly I get
Caused by: javafx.fxml.LoadException:
file:/home/clem/Documents/PMD/pmd/sandbox/pmd-bin-7.0.0-SNAPSHOT/lib/pmd-ui-7.0.0-rc1.jar!/net/sourceforge/pmd/util/fxdesigner/fxml/editor.fxml:143
file:/home/clem/Documents/PMD/pmd/sandbox/pmd-bin-7.0.0-SNAPSHOT/lib/pmd-ui-7.0.0-rc1.jar!/net/sourceforge/pmd/util/fxdesigner/fxml/designer.fxml:118
...
Caused by: java.lang.RuntimeException: Cannot create instance of net.sourceforge.pmd.util.fxdesigner.util.controls.NodeParentageCrumbBar with given set of properties: [prefHeight, stylesheets, designerRoot, id]
at javafx.fxml/com.sun.javafx.fxml.builder.ProxyBuilder.build(ProxyBuilder.java:272)
at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processEndElement(FXMLLoader.java:776)
Using the maven task / IDE
./mvnw -Prunning,with-javafx exec:java
With both JDKs I get the following:
Caused by: javafx.fxml.LoadException:
/home/clem/Documents/PMD/designer/target/classes/net/sourceforge/pmd/util/fxdesigner/fxml/node-details.fxml:20
/home/clem/Documents/PMD/designer/target/classes/net/sourceforge/pmd/util/fxdesigner/fxml/designer.fxml:108
at javafx.fxml/javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2722)
at javafx.fxml/javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:1024)
at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:759)
at javafx.fxml/javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2853)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2649)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2563)
at javafx.fxml/javafx.fxml.FXMLLoader$IncludeElement.constructValue(FXMLLoader.java:1155)
at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:759)
at javafx.fxml/javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2853)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2649)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2563)
at javafx.fxml/javafx.fxml.FXMLLoader.load(FXMLLoader.java:2531)
at net.sourceforge.pmd.util.fxdesigner.Designer.start(Designer.java:107)
at net.sourceforge.pmd.util.fxdesigner.Designer.start(Designer.java:65)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:839)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:483)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:456)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:455)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:316)
... 1 more
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
at javafx.fxml/javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:1022)
... 21 more
Caused by: java.lang.NullPointerException
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
at net.sourceforge.pmd.util.fxdesigner.util.DesignerUtil.addCustomStyleSheets(DesignerUtil.java:139)
at net.sourceforge.pmd.util.fxdesigner.util.controls.ToolbarTitledPane.<init>(ToolbarTitledPane.java:50)
... 27 more
This exception also happens when I launch the app from within Intellij using the provided run configurations.
Java 17 warning
I get the following warning on app startup with JDK 17
OpenJDK 64-Bit Server VM warning: Ignoring option --illegal-access=warn; support was removed in 17.0