0

我正在尝试按照 Brigilin Stanley 在此处编写的示例通过 cxf 重现创建 Web 服务:http: //confluex.com/blog/jax-ws-service-with-cxf-in-mule/

这在 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)

有任何想法吗?谢谢

4

3 回答 3

4

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

于 2013-10-30T16:57:53.847 回答
1

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

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

apt-get install libxtst6
于 2013-11-12T13:04:12.907 回答
-1

这发生在由以下原因引起:

java.lang.UnsatisfiedLinkError: /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
于 2015-05-21T23:54:34.460 回答