Branch: refs/heads/main
Home: https://github.com/pmd/pmd-designer
Commit: ac13618551bf8d4a108495f45f17962f0577b0e7
https://github.com/pmd/pmd-designer/commit/ac13618551bf8d4a108495f45f17962f0577b0e7
Author: Andreas Dangel <and...@pm...>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M CHANGELOG.md
M pom.xml
Log Message:
-----------
Downgrade org.kordamp.ikonli:ikonli-javafx/ikonli-fontawesome5-pack (#289)
It turns out, that version 2.4.0 is the only version, that works with
Oracle Java 8 and with newer versions of OpenJDK + OpenJFX.
Error message:
```
java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:901)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:196)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.lang.NoClassDefFoundError: com/sun/javafx/css/converters/SizeConverter
at org.kordamp.ikonli.javafx.FontIcon$StyleableProperties.<clinit>(FontIcon.java:267)
at org.kordamp.ikonli.javafx.FontIcon.getClassCssMetaData(FontIcon.java:323)
at org.kordamp.ikonli.javafx.FontIcon.getCssMetaData(FontIcon.java:327)
at javafx.scene.CssStyleHelper$CacheContainer.<init>(CssStyleHelper.java:401)
at javafx.scene.CssStyleHelper.createStyleHelper(CssStyleHelper.java:178)
at javafx.scene.Node.reapplyCss(Node.java:9383)
at javafx.scene.Node.reapplyCSS(Node.java:9346)
at javafx.scene.Node.invalidatedScenes(Node.java:1070)
at javafx.scene.Node.setScenes(Node.java:1135)
at javafx.scene.Parent$2.onChanged(Parent.java:372)
at com.sun.javafx.collections.TrackableObservableList.lambda$new$0(TrackableObservableList.java:45)
at com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:329)
at com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
at javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:239)
at javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
at javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
at javafx.collections.ObservableListBase.endChange(ObservableListBase.java:211)
at javafx.collections.ModifiableObservableListBase.setAll(ModifiableObservableListBase.java:98)
at com.sun.javafx.collections.VetoableListDecorator.setAll(VetoableListDecorator.java:116)
at com.sun.javafx.collections.VetoableListDecorator.setAll(VetoableListDecorator.java:108)
at javafx.scene.control.skin.LabeledSkinBase.updateChildren(LabeledSkinBase.java:287)
at javafx.scene.control.skin.LabeledSkinBase.<init>(LabeledSkinBase.java:160)
at javafx.scene.control.skin.ToggleButtonSkin.<init>(ToggleButtonSkin.java:68)
at javafx.scene.control.ToggleButton.createDefaultSkin(ToggleButton.java:263)
at javafx.scene.control.Control.doProcessCSS(Control.java:897)
at javafx.scene.control.Control$1.doProcessCSS(Control.java:89)
at com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67)
at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at com.sun.javafx.scene.control.ControlHelper.superProcessCSSImpl(ControlHelper.java:63)
at com.sun.javafx.scene.control.ControlHelper.superProcessCSS(ControlHelper.java:55)
at javafx.scene.control.Control.doProcessCSS(Control.java:900)
at javafx.scene.control.Control$1.doProcessCSS(Control.java:89)
at com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67)
at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at com.sun.javafx.scene.control.ControlHelper.superProcessCSSImpl(ControlHelper.java:63)
at com.sun.javafx.scene.control.ControlHelper.superProcessCSS(ControlHelper.java:55)
at javafx.scene.control.Control.doProcessCSS(Control.java:900)
at javafx.scene.control.Control$1.doProcessCSS(Control.java:89)
at com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67)
at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at com.sun.javafx.scene.control.ControlHelper.superProcessCSSImpl(ControlHelper.java:63)
at com.sun.javafx.scene.control.ControlHelper.superProcessCSS(ControlHelper.java:55)
at javafx.scene.control.Control.doProcessCSS(Control.java:900)
at javafx.scene.control.Control$1.doProcessCSS(Control.java:89)
at com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67)
at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at com.sun.javafx.scene.control.ControlHelper.superProcessCSSImpl(ControlHelper.java:63)
at com.sun.javafx.scene.control.ControlHelper.superProcessCSS(ControlHelper.java:55)
at javafx.scene.control.Control.doProcessCSS(Control.java:900)
at javafx.scene.control.Control$1.doProcessCSS(Control.java:89)
at com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67)
at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at com.sun.javafx.scene.control.ControlHelper.superProcessCSSImpl(ControlHelper.java:63)
at com.sun.javafx.scene.control.ControlHelper.superProcessCSS(ControlHelper.java:55)
at javafx.scene.control.Control.doProcessCSS(Control.java:900)
at javafx.scene.control.Control$1.doProcessCSS(Control.java:89)
at com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67)
at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.scene.Node.processCSS(Node.java:9456)
at javafx.scene.Scene.doCSSPass(Scene.java:572)
at javafx.scene.Scene.preferredSize(Scene.java:1774)
at javafx.scene.Scene$2.preferredSize(Scene.java:396)
at com.sun.javafx.scene.SceneHelper.preferredSize(SceneHelper.java:66)
at javafx.stage.Window$12.invalidated(Window.java:1135)
at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:145)
at javafx.stage.Window.setShowing(Window.java:1211)
at javafx.stage.Window.show(Window.java:1226)
at javafx.stage.Stage.show(Stage.java:277)
at net.sourceforge.pmd.util.fxdesigner.Designer.start(Designer.java:116)
at net.sourceforge.pmd.util.fxdesigner.Designer.start(Designer.java:64)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:847)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:484)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:290)
... 1 more
Caused by: java.lang.ClassNotFoundException: com.sun.javafx.css.converters.SizeConverter
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
... 127 more
```
This is due to
https://github.com/kordamp/ikonli/blame/v2.6.0/subprojects/ikonli-javafx/src/main/java/org/kordamp/ikonli/javafx/FontIcon.java#L20-L21
ikonli 2.4.0 had a version, that didn't use these internal classes and
was automatically used for Java 9+:
https://github.com/kordamp/ikonli/blob/v2.4.0/subprojects/ikonli-javafx/src/main/java9/org/kordamp/ikonli/javafx/FontIcon.java
To unsubscribe from these emails, change your notification settings at https://github.com/pmd/pmd-designer/settings/notifications
|