java.lang.unsatifiedlinkerror:/usr/local/openjdk-8/jre/lib/amd64/libawt_xawt.so:libXrender.so.1:

java.lang.unsatifiedlinkerror:/usr/local/openjdk-8/jre/lib/amd64/libawt_xawt.so:libXrender.so.1:,java,Java,我正在Gitlab管道中运行我的自动化测试项目。我得到的异常是“java.lang.unsatifiedlinkerror:/usr/local/openjdk-8/jre/lib/amd64/libawt_xawt.so:libXrender.so.1:无法打开共享对象文件:没有这样的文件或目录” 我尝试了多种安装和更新软件包的解决方案,但没有成功 尝试过的解决方案: dpkg—添加架构i386 apt获取更新 apt-y安装libxext6 apt get-y安装libbz2-1.0:i3

我正在Gitlab管道中运行我的自动化测试项目。我得到的异常是“java.lang.unsatifiedlinkerror:/usr/local/openjdk-8/jre/lib/amd64/libawt_xawt.so:libXrender.so.1:无法打开共享对象文件:没有这样的文件或目录”

我尝试了多种安装和更新软件包的解决方案,但没有成功 尝试过的解决方案:

  • dpkg—添加架构i386
  • apt获取更新
  • apt-y安装libxext6
  • apt get-y安装libbz2-1.0:i386 libxrender1:i386 libxtst6:i386 libxi6:i386
  • apt get-y安装libxrender1 libxtst6 libxi6

您能提出建议吗?

您是在尝试构建本机库(即时创建.so文件)还是尝试使用它的预构建版本?在第一种情况下,确保您的测试自动化工具支持它;在第二种情况下,请确保lib文件位于适当的位置。

在运行
java-jar languagetool.jar
之后,我收到了与您的问题提到的相同的错误:

线程“main”java.lang.UnsatifiedLinkError中出现异常:无法加载库:/usr/lib/jvm/java-11-openjdk-amd64/lib/libawt_xawt.so

基于类似的问题,我尝试:

sudo apt-get install -y openjdk-6-jre
sudo apt-get install -y icedtea-netx
它返回:

正在阅读软件包列表。。。完成了构建依赖树的阅读 国家信息。。。Done包openjdk-6-jre不可用,但 被另一个包引用。这可能意味着该包是 缺失、已过时或只能从其他来源获得 但是,以下软件包将取代它:icedtea netx

E:包“openjdk-6-jre”没有安装候选程序

因此,我尝试:

sudo apt-get install -y openjdk-6-jre
sudo apt-get install -y icedtea-netx

这就解决了错误。

您是在尝试构建本机库(即时创建.so文件)还是尝试使用它的预构建版本?在第一种情况下,确保您的测试自动化工具支持它;在第二种情况下,请确保lib文件位于适当的位置。谢谢回复@Hack06。我可以通过安装libxtst6来获得解决方案,很高兴能提供帮助。我已经对我的评论做出了回答,所以你可以接受;)请注意,
apt get update
实际上并不更新任何包,它只更新包列表。随后,请执行
apt get upgrade
,以实际安装任何具有可用更新的软件包。