我遵循了这个问题中陈述的所有说明,但在最后一部分遇到了一些问题。
我实际上有 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输出将如下:
$ …Run Code Online (Sandbox Code Playgroud) 在 Ubuntu 12.04 LTS 上,我安装了 Sun 的 JDK7、Eclipse 和 Arduino IDE。我希望 Arduino 使用 OpenJDK 6,希望 Eclipse 使用 Sun 的 JDK 7。
根据我的理解,我需要在运行每个应用程序之前手动选择要使用的 Java。这让我找到了update-java-alternatives -l命令。当我运行它时,我只看到以下内容:
java-1.6.0-openjdk-amd64 1061 /usr/lib/jvm/java-1.6.0-openjdk-amd64
Run Code Online (Sandbox Code Playgroud)
但是当我运行时,update-alternatives --config java我看到以下内容:
*0 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java auto mode
1 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java manual mode
2 /usr/lib/jvm/jdk1.7.0/bin/java manual mode
3 /usr/lib/jvm/jre1.7.0/bin/java manual mode
Run Code Online (Sandbox Code Playgroud)
我不明白为什么update-java-alternatives不显示相同的 3 个选项。我也不明白如何在 OpenJDK6 和 JDK7 之间切换。我如何使用 OpenJDK6 进行 Arduino 开发,使用 Sun JDK7 进行 Eclipse/Android 开发?