Branch: refs/heads/main
  Home:   https://github.com/pmd/pmd-designer
  Commit: ac13618551bf8d4a108495f45f17962f0577b0e7
      
https://github.com/pmd/pmd-designer/commit/ac13618551bf8d4a108495f45f17962f0577b0e7
  Author: Andreas Dangel <[email protected]>
  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


_______________________________________________
Pmd-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pmd-commits

Reply via email to