linux系统error while loading shared libraries: libjli.so问题解决
1. 絮絮叨叨最近,在完成集群部署后,发现服务没有成功启动,在启动日志中发现如下报错信息java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory使用了这么多年的Java,自己也是第一次遇到这样的问题 😂能咋办,遇到问题就解决呗;解
·
1. 絮絮叨叨
-
最近,在完成集群部署后,发现服务没有成功启动,在启动日志中发现如下报错信息
java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory
-
使用了这么多年的Java,自己也是第一次遇到这样的问题 😂
-
能咋办,遇到问题就解决呗;解决不了,就搜一搜呗
-
找到一篇看似靠谱的博客(实际也确实靠谱):配置linux的jdk报错error while loading shared libraries: libjli.so
2. 解决办法
2.1 设置java软链接
-
通过
java -version
确定JDK版本(如果存在多个JDK版本),自己的是jdk1.8.0_192 -
通过
export
命令,确定JAVA_HOME
JAVA_HOME="/usr/java/jdk1.8.0_192/"
-
查看是否存在
/usr/bin/java
指向/usr/java/jdk1.8.0_192/bin/java
的软链接,如果指向不正确可以通过rm
命令进行删除ls -l /usr/bin/java # 删除软链接 rm -rf /usr/bin/java
-
重新设置软链接,使其指向对应版本的java
ln -s /usr/java/jdk1.8.0_192/bin/java /usr/bin/java
2.2 更新ld_path
-
通过find命令,找到
libjli.so
find / -name libjli.so # 凭借自己的经验,认为可以直接搜索/usr目录的 find /usr -name libjli.so
-
自己这里有两个路径,都存在
libjli.so
-
随便选择其中一个路径,追加到
/etc/ld.so.conf
文件中/usr/java/jdk1.8.0_192/lib/amd64/jli/libjli.so
-
通过
ldconfig
命令使/etc/ld.so.conf
生效 -
若出现报错信息,可以先删除报错信息中的
.py
文件,再重新执行ldconfig
ldconfig: /usr/local/lib64/libstdc++.so.6.0.22-gdb.py is not an ELF file - it has the wrong magic bytes at the start.
-
至此,再次重新启动服务,发现服务成功启动!完美 👍 👍 👍
更多推荐
已为社区贡献3条内容
所有评论(0)