问题描述
我遵循了question中的所有说明,但在最后一部分遇到了一些问题。
我实际上有Java的6.22版本,并且想要更新到6.30版本。
因此,在将提取的目录java-6-oracle
移动到/usr/lib/jvm
后,我不知道该怎么做,因为上面的答案中指出的脚本从java 5更新为java 6。
为了清晰起见,如果我在/usr/lib/jvm
目录中执行ls
,则输出如下:
matteo@matteo-ThinkPad-SL:/usr/lib/jvm$ ls -l
total 8
lrwxrwxrwx 1 root root 14 2011-07-12 15:18 default-java -> java-6-openjdk
lrwxrwxrwx 1 root root 14 2011-07-12 12:19 java-1.6.0-openjdk -> java-6-openjdk
drwxr-xr-x 10 root root 4096 2012-04-12 12:06 java-6.31-oracle
drwxr-xr-x 7 root root 4096 2012-02-24 14:43 java-6-openjdk
我现在应该怎么做?
添加部分
在@fossfreedom的建议下,我仍然运行脚本,实际上它更新了Java版本。
事实上,如果我运行命令java -version
输出将如下:
matteo@matteo-ThinkPad-SL:~$ java -version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) Server VM (build 20.6-b01, mixed mode)
还有一个问题,如果Irun javac -version
它给我安装旧版本:
matteo@matteo-ThinkPad-SL:~$ javac -version
javac 1.6.0_22
如果我在这个link上使用测试仪,它会告诉我该版本是
Java Version 1.6.0_22 from Sun Microsystems Inc.
出了什么问题?
看起来Java运行时环境已经更新,但Java编译器和Java浏览器插件没有。
我如何更新它们?
其他补充部分
sudo update-alternatives --config java
将返回以下输出
matteo@matteo-ThinkPad-SL:~$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-6.31-oracle/bin/java 1062 auto mode
1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode
2 /usr/lib/jvm/java-6.31-oracle/bin/java 1062 manual mode
Press enter to keep the current choice[*], or type selection number:
这些与JRE正确更新到版本6.31这一事实有关,问题在Java编译器和Java浏览器插件上。
有任何想法吗?
最佳解决办法
回答你的第一个问题:
可能你可能会混淆webupd8脚本是0.5b。这是脚本的版本 – 它不涉及Java版本。
进一步设置javac版本。
我怀疑你需要明确地给出javac编译器的路径
即
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-6.31-oracle/bin/javac" 1
其次是:
sudo update-alternatives --config javac
关于设置java chrome插件。
主要问题:
How do I install Oracle JDK 6?
包括这些信息 – 因为你的文件夹结构略有不同,你的链接命令应该是:
ln -s /usr/lib/jvm/java-6.31-oracle/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/
次佳解决办法
我想你应该看看java-common
包中的update-java-alternatives
命令和它使用的*.jinfo
文件。因此,您应该能够在Java安装(不管JDK,JRE,…)之间完全切换。
第三种解决办法
参见this;跑
sudo update-java-alternatives --list
按名称和目录列出机器上的所有Java安装,然后运行
sudo update-java-alternatives --set [JDK/JRE name e.g. java-8-oracle]
选择使用哪个JRE /JDK。
如果要为每个Java任务使用不同的JDK /JRE,可以运行update-alternatives以一次配置一个java可执行文件;你可以跑步
sudo update-alternatives --config java[Tab]
查看可以配置的Java命令(java,javac,javah,javaws等)。接着
sudo update-alternatives --config [javac|java|javadoc|etc.]
将该Java任务/命令与特定的JDK /JRE相关联。
您可能还需要为某些应用程序设置JAVA_HOME:您可以使用this answer
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
对于JRE,或者
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")
对于JDK。