问题描述
大多数软件没有经过Java 7的全面测试,我想在Ubuntu 11.10上安装Oracle的JDK 6.0。
有人可以向我提供相同的说明吗?
最佳解决方法
由于license issues,Ubuntu将不再分发Oracle的JDK和JRE。此外,在PPA上提供的以前版本也存在安全问题,不建议在任何Ubuntu系统上安装。
不再支持java releases from Ubuntu – Ubuntu正式支持OpenJDK和OpenJRE实现Java,这是Oracle自己实现的基础。
要安装OpenJDK& OpenJRE参考this Q&A。
以下说明提供了安装官方Oracle JDK 6的指南。您需要定期手动更新,以确保您的安装能够维护推荐的安全性和稳定性修复程序。
安装Oracle JDK 6
Oracle JDK 6 is no longer maintained. It is not updated with the latest security patches and are not recommended for use in production.
You can however still download them from the Oracle Java Archive
Oracle自己有official guide来安装他们的JDK – 下面是基于这些说明。
-
Download 32位或64位Linux“压缩二进制文件” – 它具有”.bin”文件扩展名
-
授予它执行权限并将其提取出来
chmod a+x [version]-linux-i586.bin
./[version]-linux-i586.bin
在安装过程中,它会要求您注册 – 按ENTER
。 Firefox将打开注册页面。注册是可选的。
将JDK 6软件包解压缩到./jdk1.6.0_x
目录中,例如./jdk1.6.0_30
。
让我们重命名它:
mv jdk1.6.0_30 java-6-oracle
-
现在将JDK 6目录移动到
/usr/lib
sudo mkdir /usr/lib/jvm
sudo mv java-6-oracle /usr/lib/jvm
切换到Oracle JDK 6
webupd8.googlecode.com托管一个nice-easy脚本来帮助解决这个问题。
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/webupd8/update-java-0.5b
chmod +x update-java-0.5b
sudo ./update-java-0.5b
别担心 – 0.5b是指脚本版本 – 不是java的版本!
另一种方法是使用webupd8 ppa和update-java
软件包。
最后测试交换机是否成功:
java -version
javac -version
这些应该显示安装的oracle版本 – 1.6.0_30
Install the Firefox/Chrome plugin
在终端中:
mkdir ~/.mozilla/plugins
如果已安装,请移除IcedTea插件。
sudo apt-get remove icedtea6-plugin
删除以前版本的Java插件(可能存在也可能不存在)
rm ~/.mozilla/plugins/libnpjp2.so
现在你可以通过创建一个符号链接来安装插件(你告诉Firefox,插件所在的位置)。
(32位)
ln -s /usr/lib/jvm/java-6-oracle/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/
(64位)
ln -s /usr/lib/jvm/java-6-oracle/jre/lib/amd64/libnpjp2.so ~/.mozilla/plugins/
通过使用official oracle website确认JRE已成功。
相关问题:
次佳解决方法
Oracle的Java实现不被Ubuntu支持或分发的原因已经讨论过here。
基本思路是由于Oracle创建的许可证问题,Oracle的Java Se不会包含在任何官方的Ubuntu repo中。
这并不妨碍您从PPA安装Oracle的JDK或从Oracle站点的官方软件包中安装JDK。
本指南介绍了how-to下载,安装并使Oracle的java
,javac
和javaws
可用于您的系统。
如何在Ubuntu 11.10上安装Oracle Java JDK6u30
(应与从Oracle下载的任何其他版本一起使用)
-
下载Sun /Oracle Java JDK
从这里下载Sun /Oracle Java JDK或JRE(当前版本为JDK 6 Update 30)http://www.oracle.com/technetwork/java/javase/downloads/index.html。
注意:根据您的系统和首选项,选择任何Linux x86或Linux x64 bin软件包(例如jdk-6u30-linux-i586.bin
,jdk-6u30-linux-x64.bin
)。
-
使文件可执行
chmod +x /path/to/file/jdk-6u30-linux-*.bin
-
运行Sun /Oracle Java JDK二进制文件并将其删除
/path/to/binary/jdk-6u30-linux-*.bin && rm /path/to/binary/jdk-6u30-linux-*.bin
在提取的文件的相同路径上会有一个新创建的文件夹
-
将该文件夹移至系统宽路径,并为其指定一个更可识别的名称
mkdir -p /usr/lib/jvm
cd /path/to/binary/
mv /path/to/binary/jdk1.6.0_30 /path/to/binary/java-6-oracle && mv /path/to/binary/java-6-oracle /usr/lib/jvm/
-
添加新版本的java,javac和javaws作为系统选择,并赋予其优先级1
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/java-6-oracle/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-6-oracle/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/java-6-oracle/bin/javaws" 1
-
选择要使用的新替代品
sudo update-alternatives --config java
选择您创建的java
替代品
sudo update-alternatives --config javac
选择您新创建的javac
替代品
sudo update-alternatives --config javaws
选择新创建的javaws
替代品
-
测试您新添加的
java
和javac
java -version
应该返回
java version "1.6.0_30"
Java(TM) SE Runtime Environment (build 1.6.0_30-b12)
Java HotSpot(TM) Client VM (build 20.5-b03, mixed mode, sharing)
和javac -version
应该返回
javac 1.6.0_30
-
更新系统路径
打开/etc/profile
你最喜欢的文本编辑器,即
gksudo gedit /etc/profile
导航到文件的末尾并添加这些内容
JAVA_HOME=/usr/lib/jvm/java-6-oracle
JAVA_BIN=$JAVA_HOME/bin
PATH=$PATH:$JAVA_HOME:$JAVA_BIN
export JAVA_HOME
export JAVA_BIN
export PATH
用您的系统重新加载PATH /etc/profile
. /etc/profile
对于Oracle的JDK,java
,javac
和javaws
应该从Oracle的软件包运行。
通过在当前安装的文件上复制新版本,可以轻松更新此处安装的版本。只需解压缩包并将其复制到当前安装的包上。
您可能需要检查/etc /alternatives以获取旧版JRE的链接 – 在手动安装之后,系统中可能找不到许多工具。
第三种解决方法
打开终端并逐个执行下面的命令。它将安装JDK和JRE。无需配置任何东西。它会照顾一切。
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
JDK 6与JRE一起
sudo apt-get install oracle-java6-installer
或JDK 7
sudo apt-get install oracle-java7-installer
一旦执行,您可以检查Java和JDK是否由java -version
安装,然后是javac -version
第四种方法
由于Oracle Java已从存储库中删除,因此您必须添加一个新的存储库,如this article中所述。这里描述的存储库也有用于Oneiric的软件包。
注意:相信您正在安装的存储库/ppa是很重要的。
这可以做任何事情。
所以,如果你信任下面的存储库和开发者;
Open up a terminal window under Application -> Accessories -> Terminal, adding the ppa > by:
sudo add-apt-repository ppa:ferramroberto/java sudo apt-get update
Then, install java jre:
sudo apt-get install sun-java6-jre sun-java6-jre-plugin
Install Jdk by the command:
sudo apt-get install sun-java6-jdk
第五种方法
官方Ubuntu wiki上有非常好的页面。在那里你可以找到所有推荐的方法。我用过这个excellent automatic script。
cd ~/
wget https://github.com/flexiondotorg/oab-java6/raw/0.2.6/oab-java.sh -O oab-java.sh
chmod +x oab-java.sh
sudo ./oab-java.sh
脚本将从源代码构建软件包并将它们放置在本地回购站中,然后可以安装它们,例如:
sudo apt-get install sun-java6-jdk sun-java6-fonts sun-java6-source
您可以在/var/local/oab/deb
中看到所有可用的软件包。
请记住选择正确的版本:
sudo update-alternatives --config java
要设置其他的东西(比如浏览器插件,keytool等),你可以使用它(这将是一个很长的列表!):
sudo update-alternatives --all
如果您好奇,该脚本是this Debian script的包装;)
第六种方法
我期望,ferramroberto的ppa未来可能不会工作,因为不能再重新包装java。不幸的是,对于任何其他包装商来说,不允许使用canonical。所以上面提到的解决方案可能是唯一的方法(这基本上是update-alternatives的包装!):
http://www.webupd8.org/2011/09/how-to-install-oracle-java-7-jdk-in.html
获得一个oracle帐户并获得有关软件更新的java通讯是一个好主意,直到解决方案为我们的ubuntu用户提供有关更新的信息。