无法找到 oracle_jdk8 目录

无法找到 oracle_jdk8 目录

在 Ubuntu 14.04 中安装 Java 8 版本并需要 jdk8。从 oracle java 页面提取 jdk 1.8.0 tar 包中的文件并将其移动到后usr/lib/jvm,我找不到 oracle_jdk8 目录。

答案1

我从 Oracle 网站下载了 jdk-8u131-linux-x64.tar.gz。里面没有 oracle_jdk8。你的意思是你将 JDK 主目录移动为 /usr/lib/jvm/oracle_jdk8/,实际上是重命名了它?

您是否安装了 java-common 软件包?安装 java-common 并将 jdk tar 下载到 ~/Downloads 后,请尝试以下步骤(改编自http://www.devsniper.com/install-jdk-8-on-ubuntu/):

cd ~/Downloads/
tar -xzf jdk-8u131-linux-x64.tar.gz
sudo mkdir /usr/lib/jvm/
sudo mv jdk1.8.0_131 /usr/lib/jvm/
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_131/bin/javac 1
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_131/bin/java 1
sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.8.0_131/bin/javaws 1
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.8.0_131/bin/jar 1

您可以对其他 Java 二进制命令(例如 jconsole 等)执行相同操作。

如果您安装了其他 jdk,请运行以下命令:

sudo update-alternatives --config javac
sudo update-alternatives --config java
sudo update-alternatives --config javaws

测试Java版本:

java -version

java 版本“1.8.0_131”Java(TM) SE 运行时环境(build 1.8.0_131-b11)Java HotSpot(TM) 64 位服务器 VM(build 25.131-b11,混合模式)

验证所有符号链接都指向新的 java 位置:

ls -la /etc/alternatives/java*

有些工具需要 JAVA_HOME 变量。我建议在非 root 用户的 .bashrc 和/或 .profile 中设置它,例如:

echo "export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_131" >> ~/.bashrc

如果您按照上述说明使用 update-alternatives,则不一定需要更改 PATH 变量,因为 update-alternatives 会为指定命令创建一个到 /usr/bin/ 的符号链接,而 /usr/bin/ 又指向 /usr/etc/alternatives/,后者又指向真实的二进制位置。

因此,如果您希望找到 bin 目录中的所有命令,并且不想为所有命令(或任何命令)发出 update-alternatives,则只需更改 PATH。如果您更新 JDK,请记住更新 JAVA_HOME,如果您更改了它,还要更新 .bashrc 和/或 .profile 中的 PATH。要在 .bashrc 中更改 PATH:

echo "export PATH=$JAVA_HOME/bin:$PATH" >> ~/.bashrc

相关内容