java.lang.NoClassDefFoundError:无法初始化类javax.swing.UIManager

时间:2011-07-27 06:12:15

标签: java swing noclassdeffounderror 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)

他们有任何关系吗?

2 个答案:

答案 0 :(得分:5)

假设您在Windows上运行,shell32.dll应该在您的system32文件夹中,例如c:\Windows\System32\shell32.dll

如果没有它,你似乎不可能运行Windows ...也许你的JDK / JRE已经腐败了?也许注册表项误入歧途?可能值得重新安装JDK / JRE - 如果您使用的是64位计算机,请确保安装64位版本。虽然我希望32位版本也可以工作(就像在64位Windows上的任何其他32位应用程序一样),但可以想象它会导致这类问题。

答案 1 :(得分:0)

我卸载并重新安装了我的JDK,然后在尝试使用Eclipse中的WindowBuilder编辑器时遇到了这个错误。

我通过重启Eclipse修复了这个问题。