Java 多个JDK在Ununtu 14.04中工作不正常

Java 多个JDK在Ununtu 14.04中工作不正常,java,linux,ubuntu,java-7,ubuntu-14.04,Java,Linux,Ubuntu,Java 7,Ubuntu 14.04,JDK版本(jdk1.7.0_21和jdk1.7.0_55) root@xxx-xxx:/usr/lib/jvm# ll drwxr-xr-x 6 root root 4096 Apr 4 2013 jdk1.7.0_21/ drwxr-xr-x 8 root root 4096 Mar 18 09:04 jdk1.7.0_55/ 安装和配置如下 root@xxx-xxx:/usr/lib/jvm# java -version java version "1.7.0_55" J

JDK版本(jdk1.7.0_21和jdk1.7.0_55)

root@xxx-xxx:/usr/lib/jvm# ll
drwxr-xr-x   6 root root  4096 Apr  4  2013 jdk1.7.0_21/
drwxr-xr-x   8 root root  4096 Mar 18 09:04 jdk1.7.0_55/
安装和配置如下

root@xxx-xxx:/usr/lib/jvm# java -version
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)
jdk1.7.0_21

update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0_21/bin/java" 1

update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0_21/bin/javac" 1

update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0_21/bin/javaws" 1

sudo chmod a+x /usr/bin/java 
sudo chmod a+x /usr/bin/javac 
sudo chmod a+x /usr/bin/javaws
sudo chown -R root:root /usr/lib/jvm/jdk1.7.0_21
jdk1.7.0_55

update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0_55/bin/java" 1

update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0_55/bin/javac" 1

update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0_55/bin/javaws" 1
sudo chmod a+x /usr/bin/java 
sudo chmod a+x /usr/bin/javac 
sudo chmod a+x /usr/bin/javaws
sudo chown -R root:root /usr/lib/jvm/jdk1.7.0_55
我正在选择/更改默认的JDK

update-alternatives --config java
update-alternatives --config javac
update-alternatives --config javaws
在此之后,如果运行
java-version
,而
jdk1.7.0_55
是默认值,则输出如下所示

root@xxx-xxx:/usr/lib/jvm# java -version
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)
但是,虽然默认情况下是
jdk1.7.0_21
,但它会给出如下消息

java:加载共享库时出错:
libjli。因此
无法打开共享对象文件:没有这样的文件或目录

如果我发出:找到libjli.so

/usr/lib/jvm/jdk1.7.0_55/jre/lib/amd64/jli/libjli.so
/usr/lib/jvm/jdk1.7.0_55/lib/amd64/jli/libjli.so
所以很明显,虽然我选择了
jdk1.7.0_21
,但不知何故它仍然指向
jdk1.7.0_55

试图重命名
jdk1.7.0_55
,但没有成功

我不知道如何解决这个问题。提前感谢您的帮助:)


解决方案:我的
jdk1.7.0\u 21
被破坏,在
/usr/lib/jvm/
中从oracle untar下载了一份新的副本,就是这样。

您是否尝试过设置
JAVA\u HOME
环境变量并手动更新
JAVA
javac
等符号链接,以及
ln/code>注释编辑超时,所以-我认为您需要将
JAVA_HOME
设置为切换JDK的“方式”——比如0
updatealternations--config JAVA_HOME
,或者类似的东西。0