13

运行尝试打开 ods 文件的 java 文件时出现以下错误。

线程“主”java.lang.UnsatisfiedLinkError 中的异常:/opt/software/jdk1.6.0_45/jre/lib/i386/xawt/libmawt.so:libXext.so.6:无法打开共享对象文件:没有这样的文件或java.lang.ClassLoader$NativeL 的目录

我试过了——'yum install libXext'但得到了味精——已经安装了。

有什么建议么?

回答:

do yum install libXstst.so.6 它可以安装并且工作正常

4

5 回答 5

31

就我而言,我需要安装额外的库。

yum install libXext.x86_64
yum install libXrender.x86_64
yum install libXtst.x86_64
于 2016-05-12T10:50:07.593 回答
10

首先,您可以尝试使用以下命令:

yum search libXext

在此搜索之后,您会发现您需要安装以下库:libXext.i686(或者很可能是 libXext.i386)。在此之后,您可以运行:

sudo yum install libXext.i686

附带说明一下,我还需要安装以下库以使我的 java 应用程序正常工作:libXrender.i686 和 libXtst.i686。我认为这个问题是由于我们试图在 64 位操作系统上使用 java 32 位版本。

于 2015-12-04T16:29:27.983 回答
2

我认为你可以在 64 位系统中安装 32 位 jdk。如果你的 CentO 是 64 位,并且你安装了 32 位 jdk。运行 jar 时会出现该错误

您可以检查 CentOs 是 32 位还是 64 位,输入命令:

getconf LONG_BIT

如果 CentO 是 64 位的,那么你可以删除 32 位的 jdk,然后安装一个新的

于 2016-06-12T02:00:59.470 回答
0

对于 Arch,我使用了 pkgfile(我使用 pacman 安装的),然后运行:

    pkgfile --update
    pkgfile libXtst.so.6

它向我展示了额外的/libxtst。

我安装了 pacman,到目前为止一切顺利。

于 2017-06-11T06:45:55.187 回答
0
  1. 使用 file 命令查看它是 32 位还是 64 位文件 /opt/software/jdk1.6.0_45/jre/lib/i386/xawt/libmawt.so 它的输出应该是:

    ELF 32 位 LSB 可执行文件

  2. 然后安装相应的 32 位库:

    须藤百胜安装 libXext.i686

    对于 64 位:

    须藤百胜安装libXext

于 2016-07-14T14:38:21.010 回答