问题描述: 执行jar命令,javac命令执行报错 javac: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory jar: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory
java:error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory
解决方案:
先删除旧的不正确的软链
rm -rf /usr/bin/javac rm -rf /usr/bin/jar
rm -rf /usr/bin/java
然后重新建立软链
ln -s /usr/local/jdk1.6.0_13/bin/javac /usr/bin/javac
ln -s /usr/local/jdk1.6.0_13/bin/jar /usr/bin/jar
分析原因: 原来安装的时候,安装了openjdk,卸载的时候可能这些执行文件没卸载掉. 导致不能使用. 所以将/usr/bin/下的旧执行文件删除掉就能执行了. 查找libjli.so文件 find / -name libjli.so
显示java命令的依赖
ldd /usr/bin/java
将显示缺失的libjli.so移动到lib文件夹(32位系统)
mv /usr/local/jdk1.6.0_13/jre/lib/i386/jli/libjli.so /lib
将显示缺失的libjli.so移动到lib文件夹(64位系统)
mv /usr/local/jdk1.6.0_13/jre/lib/i386/jli/libjli.so /lib64
我的这个问题解决了,但还是报其他的错误,如果想省事一点,最好还是卸载,重新从官网下载安装文件重装