java.lang.UnsatisfiedLinkError:/usr/local/jdk5/jre/lib/i386/xawt/libmawt.so:libXext.so.6:无法打开共享对象文件:没有这样的文件或目录

时间:2015-09-02 08:28:43

标签: linux apache

当我在beta服务器上尝试部署应用程序时(它基于linux)。 我在apache-tomcat日志文件(localhost.log)中发现了以下错误。

java.lang.UnsatisfiedLinkError: /usr/local/jdk5/jre/lib/i386/xawt/libmawt.so: libXext.so.6: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1647)
at java.lang.Runtime.load0(Runtime.java:769)
at java.lang.System.load(System.java:967)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1668)
at java.lang.Runtime.loadLibrary0(Runtime.java:822)
at java.lang.System.loadLibrary(System.java:992)
at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.loadLibraries(Toolkit.java:1509)
at java.awt.Toolkit.<clinit>(Toolkit.java:1530)
at java.awt.Color.<clinit>(Color.java:250)
----
请帮帮我。谢谢。

2 个答案:

答案 0 :(得分:1)

我遇到过类似的错误,下面是适合我的解决方案。
请在文件catalina.sh中为tomcat服务器设置Java路径 将JAVA_HOME路径设置为与编译版本相同的jdk版本。

例如:

JAVA_HOME=/usr/java5/jdk1.5.0_21  

如果需要,请将CATALINA_HOME设置为您的tomcat安装目录。

愿这对你有所帮助。

答案 1 :(得分:1)

最可能的事情是您已在服务的.jar部署文件中包含awt库(或完整的Java运行时)。不要这样做,因为它会使您的代码仅在您用于测试应用程序的开发系统之类的环境中运行。您可能正在尝试将您的应用程序部署到Windows和Linux平台,并且它要求Xt.so linux库(在X11上使用awt,在Windows上使用不同的库)。检查您的打包配置(.jar文件中包含的模块),不要包含依赖于体系结构的平台库(如Java运行时)。一个常见的错误是包含所有内容,你就会遇到这个问题。在部署中包含一些软件包之前请三思。