JAVAlang.NoClassDefFoundError:无法初始化类javax。摆动UIManager
我遇到了这个错误,有人知道为什么吗?Java版本:1.6.0_16
java.lang.NoClassDefFoundError: Could not initialize class javax.swing.UIManager
at javax.swing.LookAndFeel.installColorsAndFont(LookAndFeel.java:191)
at ilog.views.chart.IlvChart.updateUI(Unknown Source)
并打印另一个错误:
java.lang.UnsatisfiedLinkError: shell32.dll: Cannot load shell32.dll from system directories.
at sun.awt.windows.WDesktopProperties.init(Native Method)
at sun.awt.windows.WDesktopProperties.<init>(WDesktopProperties.java:66)
at sun.awt.windows.WToolkit.lazilyInitWProps(WToolkit.java:817)
at sun.awt.windows.WToolkit.lazilyLoadDesktopProperty(WToolkit.java:807)
at java.awt.Toolkit.getDesktopProperty(Toolkit.java:1759)
at java.awt.Toolkit.getDesktopProperty(Toolkit.java:1740)
at javax.swing.UIManager.<clinit>(UIManager.java:357)
at javax.swing.LookAndFeel.installColorsAndFont(LookAndFeel.java:191)
at ilog.views.chart.IlvChart.updateUI(Unknown Source)
他们之间有什么关系吗
# 1 楼答案
假设你在Windows上运行,shell32。dll应该在system32文件夹中,例如
c:\Windows\System32\shell32.dll
如果没有它,你似乎不太可能运行Windows。。。也许你的JDK/JRE不知何故变得腐败了?也许一个注册表条目出错了?可能只需要重新安装JDK/JRE就值得了——如果您在64位机器上,请确保安装64位版本。虽然我希望32位版本也能工作(就像64位Windows上的任何其他32位应用程序一样),但几乎可以想象它会导致这种问题
# 2 楼答案
我卸载并重新安装了JDK,然后在Eclipse中尝试使用WindowBuilder编辑器时遇到了这个错误
我通过重启Eclipse解决了这个问题