Java MuleESB-无法初始化类sun.awt.SunToolkit

Java MuleESB-无法初始化类sun.awt.SunToolkit,java,web-services,mule,Java,Web Services,Mule,我正试图通过cxf复制CreateaWebService,下面是Brigilin Stanley编写的示例: 这在Mule Studio中运行良好,但在部署到linux red Hat服务器时,我遇到了一个奇怪的问题: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.SunToolkit at sun.awt.AppContext$2.run(AppContext.java:271)

我正试图通过cxf复制CreateaWebService,下面是Brigilin Stanley编写的示例:

这在Mule Studio中运行良好,但在部署到linux red Hat服务器时,我遇到了一个奇怪的问题:

java.lang.NoClassDefFoundError: Could not initialize class sun.awt.SunToolkit
        at sun.awt.AppContext$2.run(AppContext.java:271)
        at sun.awt.AppContext$2.run(AppContext.java:260)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.awt.AppContext.initMainAppContext(AppContext.java:260)
        at sun.awt.AppContext.access$200(AppContext.java:133)
        at sun.awt.AppContext$3.run(AppContext.java:316)
        at sun.awt.AppContext$3.run(AppContext.java:298)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.awt.AppContext.getAppContext(AppContext.java:297)
        at sun.awt.AppContext$6.getContext(AppContext.java:839)
        at sun.misc.SharedSecrets.getJavaAWTAccess(SharedSecrets.java:201)
        at java.util.TimeZone.getDefaultInAppContext(TimeZone.java:734)
        at java.util.TimeZone.getDefaultRef(TimeZone.java:630)
        at java.util.Calendar.getInstance(Calendar.java:968)
        at org.apache.log4j.helpers.AbsoluteTimeDateFormat.<init>(AbsoluteTimeDa
teFormat.java:62)
        at org.apache.log4j.helpers.ISO8601DateFormat.<init>(ISO8601DateFormat.j
ava:46)
        at org.apache.log4j.helpers.PatternParser.finalizeConverter(PatternParse
r.java:256)
        at org.apache.log4j.helpers.PatternParser.parse(PatternParser.java:186)
        at org.apache.log4j.PatternLayout.<init>(PatternLayout.java:438)
java.lang.NoClassDefFoundError:无法初始化类sun.awt.suntToolkit
在sun.awt.AppContext$2.run(AppContext.java:271)
在sun.awt.AppContext$2.run(AppContext.java:260)
位于java.security.AccessController.doPrivileged(本机方法)
位于sun.awt.AppContext.initMainAppContext(AppContext.java:260)
access$200(AppContext.java:133)
在sun.awt.AppContext$3.run处(AppContext.java:316)
在sun.awt.AppContext$3.run(AppContext.java:298)
位于java.security.AccessController.doPrivileged(本机方法)
位于sun.awt.AppContext.getAppContext(AppContext.java:297)
在sun.awt.AppContext$6.getContext(AppContext.java:839)
在sun.misc.SharedSecrets.getJavaAWTAccess(SharedSecrets.java:201)上
在java.util.TimeZone.getDefaultInAppContext(TimeZone.java:734)中
位于java.util.TimeZone.getDefaultRef(TimeZone.java:630)
位于java.util.Calendar.getInstance(Calendar.java:968)
在org.apache.log4j.helpers.AbsoluteTimeDateFormat.(AbsoluteTimeDa
teFormat.java:62)
在org.apache.log4j.helpers.ISO8601DateFormat.(ISO8601DateFormat.j
艾娃:46)
位于org.apache.log4j.helpers.PatternParser.finalizeConverter(PatternParse
r、 java:256)
位于org.apache.log4j.helpers.PatternParser.parse(PatternParser.java:186)
位于org.apache.log4j.PatternLayout(PatternLayout.java:438)
有什么想法吗?
谢谢

此异常通常表示服务器没有X服务器。要告诉awt您在“headless”服务器中,请使用以下Java系统属性:
-Djava.awt.headless=true

此异常通常表示服务器没有X服务器。要告诉awt您在一个“headless”服务器中,请使用以下Java系统属性:
-Djava.awt.headless=true

这个问题应该表明您缺少headless参数,但对我来说,问题是我使用xvfb run运行(因此有一个“display”)但仍然出现了错误

解决方案是缺少libxtst6的依赖项,安装解决了此问题:

apt-get install libxtst6
这个问题应该表明您缺少headless参数,但对我来说,问题是我运行的是xvfbrun(因此有一个“display”),但还是出现了错误

解决方案是缺少libxtst6的依赖项,安装解决了此问题:

apt-get install libxtst6

发生这种情况的原因是:

java.lang.UnsatifiedLink错误: /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/lwawt/liblwawt.dylib: dlopen(/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/lwawt/liblwawt.dylib, 1) :未加载库:@rpath/libosxapp.dylib引用自: /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/lwawt/liblwawt.dylib 原因:找不到图像

问题是由于对Mac OS的更新影响了Java使用的DLL文件。这个问题已经在系统上更新的Java版本以及其他应用程序(WebSense等)中出现

修复方法是将应用程序试图引用的libosxapp.dylib文件复制到liblwawt.dylib所在的同一目录中(更改Java版本以匹配您自己的版本):

以下是修复方法:

sudo cp /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/libosxapp.dylib lwawt/libosxapp.dylib

发生这种情况的原因是:

java.lang.UnsatifiedLink错误: /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/lwawt/liblwawt.dylib: dlopen(/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/lwawt/liblwawt.dylib, 1) :未加载库:@rpath/libosxapp.dylib引用自: /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/lwawt/liblwawt.dylib 原因:找不到图像

问题是由于对Mac OS的更新影响了Java使用的DLL文件。这个问题已经在系统上更新的Java版本以及其他应用程序(WebSense等)中出现

修复方法是将应用程序试图引用的libosxapp.dylib文件复制到liblwawt.dylib所在的同一目录中(更改Java版本以匹配您自己的版本):

以下是修复方法:

sudo cp /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/libosxapp.dylib lwawt/libosxapp.dylib

你在那里运行的是哪种Java(供应商和版本)?你在那里运行的是哪种Java(供应商和版本)?只想说——八个月后,你仍然是一个救星。四小时后我发现你。。。只是想说——八个月后,你仍然是一个救生员。四小时后我发现你。。。