Mat*_*teo 158 java software-installation
我遵循了这个问题中陈述的所有说明,但在最后一部分遇到了一些问题。
我实际上有 6.22 版的 java 并且想更新到 6.30 版。
因此,在将提取的目录移动java-6-oracle
到/usr/lib/jvm
我不知道该怎么做之后,因为上面答案中指出的脚本从 java 5 更新到 java 6。
为了清楚起见,如果我ls
在 dir 中执行以下操作,则输出/usr/lib/jvm
:
$ ls -l /usr/lib/jvm
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
Run Code Online (Sandbox Code Playgroud)
我现在该怎么办?
添加部分
在@fossfreedom 的建议下,我无论如何都运行了脚本,实际上它更新了 Java 版本。
事实上,如果我运行命令java -version
输出将如下:
$ 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)
Run Code Online (Sandbox Code Playgroud)
还有一个问题,如果 Irunjavac -version
它给了我安装的旧版本:
$ javac -version
javac 1.6.0_22
Run Code Online (Sandbox Code Playgroud)
如果我在此链接上使用测试仪,它会告诉我该版本是
Java Version 1.6.0_22 from Sun Microsystems Inc.
Run Code Online (Sandbox Code Playgroud)
怎么了?
Java Runtime Environment 似乎更新了,但是 Java Compiler 和 Java plugin for browser 还没有。
我该如何更新它们?
其他附加部分
sudo update-alternatives --config java
将返回以下输出
$ 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:
Run Code Online (Sandbox Code Playgroud)
这些是有道理的,因为 JRE 已正确更新到版本 6.31,问题出在 Java 编译器和 Java 浏览器插件上。
有任何想法吗?
fos*_*dom 132
回复你的第一个问题:
您可能对 webupd8 脚本是 0.5b 感到困惑。那是脚本的版本 - 它不是指 Java 版本。
进一步设置 javac 版本。
我怀疑您需要明确给出 javac 编译器的路径
IE
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-6.31-oracle/bin/javac" 1
Run Code Online (Sandbox Code Playgroud)
其次是:
sudo update-alternatives --config javac
Run Code Online (Sandbox Code Playgroud)
关于设置 java chrome 插件。
大师问题:
包含此信息 - 由于您的文件夹结构略有不同,您的链接命令应该是:
ln -s /usr/lib/jvm/java-6.31-oracle/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/
Run Code Online (Sandbox Code Playgroud)
Wil*_*llC 86
看到这个;跑
sudo update-java-alternatives --list
Run Code Online (Sandbox Code Playgroud)
按名称和目录列出机器上的所有 Java 安装,然后运行
sudo update-java-alternatives --set [JDK/JRE name e.g. java-8-oracle]
Run Code Online (Sandbox Code Playgroud)
选择要使用的 JRE/JDK。
如果您想为每个 Java 任务使用不同的 JDK/JRE,您可以运行 update-alternatives 一次配置一个 Java 可执行文件;你可以跑
sudo update-alternatives --config java[Tab]
Run Code Online (Sandbox Code Playgroud)
查看可以配置的 Java 命令(java、javac、javah、javaws 等)。进而
sudo update-alternatives --config [javac|java|javadoc|etc.]
Run Code Online (Sandbox Code Playgroud)
将该 Java 任务/命令关联到特定的 JDK/JRE。
您可能还需要为某些应用程序设置 JAVA_HOME:从这个答案中,您可以使用
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
Run Code Online (Sandbox Code Playgroud)
对于 JRE,或
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")
Run Code Online (Sandbox Code Playgroud)
对于 JDK。
小智 27
我认为您应该查看包中的update-java-alternatives
命令java-common
及其使用的*.jinfo
文件。有了它,您应该能够在 Java 安装之间完全切换(无论 JDK、JRE ……)。
小智 15
在 ubuntu/linux 上,您可以使用切换 java 版本
update-alternatives --config java
Run Code Online (Sandbox Code Playgroud)
但在此之前,您需要安装该版本。
您可以使用此脚本 (./install-java.sh) 来安装多个 JVM
#!/bin/sh
(
lookforJdks=$PWD
echo "Directory: $lookforJdks"
jdks=`test -e ./javac || find $lookforJdks -type d -iname '*jdk1.*' 2> /dev/null`
#set -e
echo 'which jdk do you want to choose? looking for jdks. This might take a while'
echo "$jdks" | awk '{printf("%5d : %s\n", NR,$0)}'
read choose
test -e ./javac || cd `echo "$jdks" | tr '\n' ',' | cut -d',' -f $choose`/bin
for e in appletviewer extcheck idlj jar jarsigner java javac javadoc javah javap jconsole \
jdb jhat jinfo jmap jps jrunscript jsadebugd jstack jstat jstatd native2ascii rmic \
schemagen serialver wsgen wsimport xjc jvisualvm jmc; do sudo update-alternatives \
--install /usr/bin/$e $e $(readlink -f ./$e) 100; done
)
echo "RUN update-alternatives --config java"
Run Code Online (Sandbox Code Playgroud)
将此脚本放在已解压 JVM 的文件夹中,然后运行:
/opt/install-java.sh
Run Code Online (Sandbox Code Playgroud)
下次使用:
update-alternatives --config java
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
685156 次 |
最近记录: |