kirill-grouchnikov / substance

A modern and high-performant Swing look-and-feel library
164 stars 109 forks source link

Errors when trying to build a project with Substance and Java 9 #54

Closed wrooot closed 6 years ago

wrooot commented 6 years ago

We are using Substance in Spark IM client - https://github.com/igniterealtime/Spark

Version of Substance

From Maven: com.github.insubstantial, substance-swingx, 7.3 I know this is not exactly same Substance as this one (it's a fork). Maybe this is already not an issue?

Version of Java

JDK 9.0.1

Version of OS

Windows 7 x64

The issue you're experiencing (expected vs actual, screenshot, stack trace etc)

When trying to build a project with Java 9 in IntelliJ getting these errors:

SEVERE: Unable to load plugin org.jivesoftware.sparkimpl.plugin.viewer.PluginViewer. java.lang.NullPointerException at org.pushingpixels.substance.internal.utils.SubstanceColorUtilities.getDefaultBackgroundColor(SubstanceColorUtilities.java:759) at org.pushingpixels.substance.internal.utils.SubstanceColorUtilities.getBackgroundFillColor(SubstanceColorUtilities.java:661) at org.pushingpixels.substance.internal.ui.SubstancePanelUI._orgpushingpixelssubstanceinternaluiSubstancePanelUI_installDefaults(SubstancePanelUI.java:74) at org.pushingpixels.substance.internal.ui.SubstancePanelUI.installDefaults(SubstancePanelUI.java) at org.pushingpixels.substance.swingx.SubstancePanelUI._orgpushingpixelssubstanceswingxSubstancePanelUI_installDefaults(SubstancePanelUI.java) at org.pushingpixels.substance.swingx.SubstancePanelUI.installDefaults(SubstancePanelUI.java) at java.desktop/javax.swing.plaf.basic.BasicPanelUI.installUI(BasicPanelUI.java:62) at org.pushingpixels.substance.internal.ui.SubstancePanelUI._orgpushingpixelssubstanceinternaluiSubstancePanelUI_installUI(SubstancePanelUI.java) at org.pushingpixels.substance.internal.ui.SubstancePanelUI.installUI(SubstancePanelUI.java) at org.pushingpixels.substance.swingx.SubstancePanelUI._orgpushingpixelssubstanceswingxSubstancePanelUI_installUI(SubstancePanelUI.java) at org.pushingpixels.substance.swingx.SubstancePanelUI.installUI(SubstancePanelUI.java) at java.desktop/javax.swing.JComponent.setUI(JComponent.java:685) at java.desktop/javax.swing.JPanel.setUI(JPanel.java:150) at java.desktop/javax.swing.JPanel.updateUI(JPanel.java:126) at java.desktop/javax.swing.JPanel.(JPanel.java:86) at java.desktop/javax.swing.JPanel.(JPanel.java:109) at java.desktop/javax.swing.JPanel.(JPanel.java:117) at org.jivesoftware.sparkimpl.plugin.viewer.PluginViewer.(PluginViewer.java:79) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488) at java.base/java.lang.Class.newInstance(Class.java:558) at org.jivesoftware.spark.PluginManager.lambda$loadInternalPlugins$0(PluginManager.java:492) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764) at java.desktop/java.awt.EventQueue.access$500(EventQueue.java:97) at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:717) at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:711) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:734) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:199) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

...removed unrelated errors...

java.lang.reflect.InvocationTargetException at java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1328) at java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1303) at org.jivesoftware.Spark.startup(Spark.java:193) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.jivesoftware.launcher.Startup.start(Startup.java:88) at org.jivesoftware.launcher.Startup.main(Startup.java:38) Caused by: java.lang.NullPointerException at org.pushingpixels.substance.internal.utils.SubstanceColorUtilities.getDefaultBackgroundColor(SubstanceColorUtilities.java:759) at org.pushingpixels.substance.internal.utils.SubstanceColorUtilities.getBackgroundFillColor(SubstanceColorUtilities.java:661) at org.pushingpixels.substance.internal.ui.SubstancePanelUI._orgpushingpixelssubstanceinternaluiSubstancePanelUI_installDefaults(SubstancePanelUI.java:74) at org.pushingpixels.substance.internal.ui.SubstancePanelUI.installDefaults(SubstancePanelUI.java) at org.pushingpixels.substance.swingx.SubstancePanelUI._orgpushingpixelssubstanceswingxSubstancePanelUI_installDefaults(SubstancePanelUI.java) at org.pushingpixels.substance.swingx.SubstancePanelUI.installDefaults(SubstancePanelUI.java) at java.desktop/javax.swing.plaf.basic.BasicPanelUI.installUI(BasicPanelUI.java:62) at org.pushingpixels.substance.internal.ui.SubstancePanelUI._orgpushingpixelssubstanceinternaluiSubstancePanelUI_installUI(SubstancePanelUI.java) at org.pushingpixels.substance.internal.ui.SubstancePanelUI.installUI(SubstancePanelUI.java) at org.pushingpixels.substance.swingx.SubstancePanelUI._orgpushingpixelssubstanceswingxSubstancePanelUI_installUI(SubstancePanelUI.java) at org.pushingpixels.substance.swingx.SubstancePanelUI.installUI(SubstancePanelUI.java) at java.desktop/javax.swing.JComponent.setUI(JComponent.java:685) at java.desktop/javax.swing.JPanel.setUI(JPanel.java:150) at java.desktop/javax.swing.JPanel.updateUI(JPanel.java:126) at java.desktop/javax.swing.JPanel.(JPanel.java:86) at java.desktop/javax.swing.JPanel.(JPanel.java:109) at java.desktop/javax.swing.JPanel.(JPanel.java:117) at java.desktop/javax.swing.JRootPane.createGlassPane(JRootPane.java:521) at java.desktop/javax.swing.JRootPane.(JRootPane.java:348) at java.desktop/javax.swing.JFrame.createRootPane(JFrame.java:279) at java.desktop/javax.swing.JFrame.frameInit(JFrame.java:258) at java.desktop/javax.swing.JFrame.(JFrame.java:181) at org.jivesoftware.Spark.lambda$startup$1(Spark.java:195) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764) at java.desktop/java.awt.EventQueue.access$500(EventQueue.java:97) at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:717) at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:711) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:734) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:199) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Process finished with exit code 0

kirill-grouchnikov commented 6 years ago

Assuming this is a runtime error and not a build error.

I have no affiliation with Insubstantial, and I don't know what modifications they did to the old Substance code base. If you're seeing this issue under the latest stable or development bits of Substance itself (from this Github repository), then I'll need to see a small, standalone and complete case that reproduces the issue.