1、简介
配置jdk 都可以眯着眼配置了,然而今天配置天翼云服务器发生了意外,差点啪啪打脸,地发现有一个依赖的so文件从来没找见过,也没有了解过,最后发觉天翼云服务解压缩少好多东西,其中就少了 jdk1.8/lib/amd64/jli/libjli.so 也不知道是啥东西,手记一下,万一下次遇到也是经验。执行jar命令,javac命令执行报错。
javac: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory2、设置java软链接
通过java -version确定JDK版本(如果存在多个JDK版本),自己的是jdk1.8.0_192。通过export命令,确定JAVA_HOME
[root@node2 ~]# export|grep JAVA_HOME
declare -x JAVA_HOME="/usr/local/java"
查看是否存在/usr/bin/java指向/usr/java/jdk1.8.0_192/bin/java的软链接,如果指向不正确可以通过rm命令进行删除
[root@node2 ~]# ls -l usr/bin/java
# 删除软链接
[root@node2 ~]# rm -rf usr/bin/java
重新设置软链接,使其指向对应版本的java
[root@node2 ~]# ln -s usr/java/jdk1.8.0_192/bin/java usr/bin/java3、更新ld_path
通过find命令,找到libjli.so
[root@node2 ~]# find -name libjli.so
# 凭借自己的经验,认为可以直接搜索/usr目录的
[root@node2 ~]# find /usr -name libjli.so
自己这里有两个路径,都存在libjli.so

随便选择其中一个路径,追加到/etc/ld.so.conf文件中
[root@node2 ~]# echo '/usr/java/jdk1.8.0_192/lib/amd64/jli/libjli.so' >> /etc/ld.so.conf
# 通过ldconfig命令使/etc/ld.so.conf生效
[root@node2 ~]# 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.至此,再次重新启动服务,发现服务成功启动!完美 👍 👍 👍
欢迎大家扫码关注:

本公众号只写原创,不接广告、不接广告、不接广告。下期小伙伴想学习什么技术,可以私信发我吆。

文章转载自IT运维大爆炸,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




