java.lang.NoClassDefFoundError:无法初始化类java.awt.Toolkit

Bertram Nudelbach:

我正在研究XUbuntu 13.04和开发swing应用程序。当我只想尝试该应用程序时,我java.lang.NoClassDefFoundError: Could not initialize class java.awt.Toolkit在启动时就遇到了

我发现了几个有关服务器/客户端虚拟机的问题,并注意到我有一个服务器虚拟机,而对于Linux 64,则不再有客户端虚拟机。但是,恕我直言,这个问题不应该取决于我在哪个VM上运行。

还有其他人注意到这个问题并解决了吗?我究竟做错了什么?使用64位jdk,一切正常,但是当我尝试使用32位jdk时,启动失败。

提前致谢!

PS:Java版本1.7.0_25与相同1.7.0_09

编辑

使用无头模式时,会发生以下异常:

java.lang.reflect.InvocationTargetException
    at java.awt.EventQueue.invokeAndWait(EventQueue.java:1272)
    at java.awt.EventQueue.invokeAndWait(EventQueue.java:1247)
    at javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1349)
    at Main.main(Main.java:218)
Caused by: java.awt.HeadlessException
    at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207)
    at java.awt.Window.<init>(Window.java:535)
    at java.awt.Frame.<init>(Frame.java:420)
    at java.awt.Frame.<init>(Frame.java:385)
    at javax.swing.JFrame.<init>(JFrame.java:180)
    at ..MyFrame.<init>(MyFrame.java:23)
Bertram Nudelbach:

好吧,终于找到了答案。感谢您的努力!问题是我只libxtst6安装了64位版本。

sudo apt-get install libxtst6:i386 为我做了把戏。

我如何找到这个答案?ldd略有编辑,但没有任何内容,如您在下面看到的:

$ ldd jdk1.7.0_25_x86/jre/lib/i386/xawt/libmawt.so
    linux-gate.so.1 =>  (0xf7769000)
    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf76ee000)
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf76c2000)
    libawt.so => jdk1.7.0_25_x86/jre/lib/i386/xawt/../libawt.so (0xf760f000)
    libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf75fd000)
    libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf74c9000)
    libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xf74bf000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf74ba000)
    libXtst.so.6 => /usr/lib/i386-linux-gnu/libXtst.so.6 (0xf74b2000)
    libXi.so.6 => /usr/lib/i386-linux-gnu/libXi.so.6 (0xf74a2000)
    libjava.so => jdk1.7.0_25_x86/jre/lib/i386/xawt../libjava.so (0xf747e000)
    libjvm.so => not found
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf72d5000)
    /lib/ld-linux.so.2 (0xf776a000)
    libjvm.so => not found
    libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf72b3000)
    libjvm.so => not found
    libverify.so => java/jdk1.7.0_25_x86/jre/lib/i386/xawt/../libverify.so (0xf72a7000)
    libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf72a2000)
    libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf729b000)
    libjvm.so => not found

因此,这就是我结束对IDE的信任并在命令行上启动示例应用程序的时候了。命令行再次对我很好:

$ jdk1.7.0_25_x86/bin/java Main
Exception in thread "main" java.lang.UnsatisfiedLinkError: jdk1.7.0_25_x86/jre/lib/i386/xawt/libmawt.so: libXtst.so.6: cannot open shared object file: No such file or directory
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1957)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1882)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1843)
    at java.lang.Runtime.load0(Runtime.java:795)
    at java.lang.System.load(System.java:1061)
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1957)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1882)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)
    at java.lang.Runtime.loadLibrary0(Runtime.java:849)
    at java.lang.System.loadLibrary(System.java:1087)
    at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:67)
    at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:47)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Toolkit.loadLibraries(Toolkit.java:1646)
    at java.awt.Toolkit.<clinit>(Toolkit.java:1668)
    at java.awt.Component.<clinit>(Component.java:595)
    at Main.main(Main.java:5)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

java.lang.NoClassDefFoundError:无法初始化类org.powermock.modules.junit4.rule.PowerMockRule

Java的AWT Scala中:(AWT-EventQueue的-0)java.lang.NoClassDefFoundError

java.lang.NoClassDefFoundError:无法初始化类javax.media.jai.JAI

java.lang.NoClassDefFoundError:无法初始化类org.bytedeco.javacpp.avutil

java.lang.NoClassDefFoundError:无法初始化类XXX

原因:java.lang.NoClassDefFoundError:无法初始化类com.jayway.restassured.RestAssured

拒绝对先前失败的类java.lang.Class <nt>进行重新初始化:java.lang.NoClassDefFoundError

java.lang.NoClassDefFoundError:无法初始化类xxx.xxx.xxx.HibernateUtil

春季:java.lang.NoClassDefFoundError:无法初始化类

使用线程“ AWT-EventQueue-0” java.lang.IllegalStateException

java.lang.NoClassDefFoundError:无法初始化com.datastax.driver.core.Cluster类

itextPdf出现问题,拒绝先前失败的类java.lang.Class <com.itextpdf.awt.PdfGraphics2D>上的重新初始化

ARM64计算机上的Cassandra启动失败(java.lang.NoClassDefFoundError:无法初始化com.sun.jna.Native类)

Zeppelin java.lang.NoClassDefFoundError:无法初始化类org.apache.spark.rdd.RDDOperationScope $

关于java.lang.NoClassDefFoundError:无法初始化类org.xerial.snappy.Snappy

java.lang.NoClassDefFoundError:无法初始化com.googlecode.objectify.ObjectifyService类

带有Java 9 java.lang.NoClassDefFoundError的Oracle JDBC驱动程序:无法初始化类oracle.jdbc.OracleDriver

Corda-无法初始化主类胶囊(引起原因:java.lang.NoClassDefFoundError:java / lang / instrument / Instrumentation)

获取java.lang.NoClassDefFoundError:升级到POI 4.0.0后无法初始化类org.apache.poi.ooxml.util.DocumentHelper

原因:java.lang.NoClassDefFoundError:无法初始化类javassist.util.proxy.DefineClassHelper

mapGroupsWithState引发错误原因:java.lang.NoClassDefFoundError:无法初始化

java.lang.NoClassDefFoundError:无法初始化类org.springframework.mail.javamail.SmartMimeMessage

java.lang.NoClassDefFoundError:无法初始化类sun.nio.ch.FileChannelImpl

Grails域类单元测试,约束设置问题-java.lang.NoClassDefFoundError:无法初始化

从OS X Applet调用java.awt.Toolkit.getDefaultToolkit()时,空指针异常

“ AWT-EventQueue-0”中的异常java.lang.NullPointerException

java.lang.NoClassDefFoundError:无法初始化类org.apache.commons.logging.LogFactory

java.lang.NoClassDefFoundError:java.awt.Cursor

线程“主”中的异常java.lang.NoClassDefFoundError无法初始化类org.bytedeco.javacpp.avutil