![在 ubuntu 上安装 Java](https://linux22.com/image/889683/%E5%9C%A8%20ubuntu%20%E4%B8%8A%E5%AE%89%E8%A3%85%20Java.png)
提前警告一下,我对 UNIX 总体来说还很陌生,所以如果你能让所有答案都相对简单,那就太好了
我正在尝试在我的计算机上安装 java,当我尝试安装 .rpm 文件时,出现一个错误,提示我缺少依赖项。
有什么建议么?
这些是错误:
root@cole-ThinkPad-T440s:/home/cole/java# rpm -ivh jdk-8u111-linux-x64.rpm
rpm: RPM should not be used directly install RPM packages, use Alien instead!
rpm: However assuming you know what you are doing...
error: Failed dependencies:
/bin/basename is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
/bin/cat is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
/bin/cp is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
/bin/gawk is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
/bin/grep is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
/bin/ln is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
/bin/ls is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
/bin/mkdir is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
/bin/mv is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
/bin/pwd is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
/bin/rm is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
/bin/sed is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
/bin/sort is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
/bin/touch is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
/usr/bin/cut is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
/usr/bin/dirname is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
/usr/bin/expr is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
/usr/bin/find is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
/usr/bin/tail is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
/usr/bin/tr is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
/usr/bin/wc is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
/usr/sbin/update-alternatives is needed by jdk1.8.0_111-2000:1.8.0_111- fcs.x86_64
/bin/sh is needed by jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64
root@cole-ThinkPad-T440s:/home/cole/java#
安装 java 后,我还想设置 jdk,以便 eclipse 可以找到它。我也需要一些关于如何做到这一点的帮助
答案1
OpenJDK 是一个使用 Java 编程语言构建应用程序、小程序和组件的开发环境。要从终端类型在 Ubuntu 16.04 中安装 OpenJDK 9:
sudo apt install openjdk-9-jdk
要安装 OpenJDK 8,请将上述命令中的 9 替换为 8。
要显示默认 JDK 类型的路径:
update-alternatives --display java
要从 Oracle 网站下载的 .deb 文件安装 Oracle 专有的 Java JDK,请参阅如何安装 Sun/Oracle 专有的 Java JDK 6/7/8 或 JRE?
由于您可能从 .rpm 文件、.deb 文件和/或直接从 Ubuntu 存储库安装了多个版本的 Java,因此您可能弄乱了 Java 路径。这个问题是关于如何在从多个来源安装 Java 后更改 Java 路径 -Ubuntu:将路径从 OpenJDK 6 更改为 Oracle JDK 7
您可以使用update-alternatives --config java
(Ubuntu 中的 dpkg 默认提供 update-alternatives)或update-java-alternatives
(安装 openjdk-9-jdk 时会安装)在运行应用程序之前手动选择要使用的 Java。请参阅update-java-alternatives 与 update-alternatives --config java。
答案2
首先从 Oracle Java 网站获取一个 zip 文件。不要下载 .rpm 文件,因为它适用于 Red Hat Linux。它可能是一个 GZip,其扩展名为 .gz 或 .gzip 或 .tgz 或 .tar.gz。选择 JDK 文件而不是 JRE 文件。无论如何,JDK 下载中都会有一个 JRE。JDK 适用于开发人员。JRE 不适用于开发。
如果您不想要 Oracle,您可以获取 OpenJDK。
安装时,我链接到 JDK 而不是 JRE/bin,仅仅是因为我不想假设所有 JDK 都包含 JRE,即使这个包含。
在单用户计算机上,您可以将其解压缩到任何地方。如果您在多用户计算机上,则有标准位置可以将其解压缩。您可以在以下位置阅读有关它们的信息维基百科当然,也可以查看它提供的参考资料。剪切并粘贴或移动 zip 文件到您想要解压的位置。您可以右键单击存档以将其解压。
在单用户机器上,我可以将它解压到任何地方,因此为方便起见,我将它放在我自己的主目录下的某个地方。对于以下内容,我假设它解压(提取)在 下/home/YOURNAME/programs
。最好将其拼写为/home/YOURNAME/....
而不是使用~/....
。以下命令可根据您实际解压的位置进行调整。调整时,只需ls /home/YOURNAME/programs/.......
确保文件确实存在并且路径拼写正确即可。将会有一个java
文件、一个javaws
文件、一个jar
文件和一个javac
文件,对于 Oracle JDK 来说,它们都位于同一个目录中。顺便说一句,如果您浏览一下,您会注意到 Oracle 下载中的某些文件是重复的,因为它们java
在目录中有一个文件,并且在目录中有jre
相同的文件。 (可能是或或类似的东西。)如果您是开发人员,请坚持使用该路径。java
jdk
jre/bin
jdk/bin
jdk
当您确定路径后,调整以下命令。
sudo update-alternatives --install "/usr/bin/java" "java" "/home/YOURNAME/programs/jdk1.8.0/bin/java" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/home/YOURNAME/programs/jdk1.8.0/bin/javaws" 1
sudo update-alternatives --install "/usr/bin/jar" "jar" "/home/YOURNAME/programs/jdk1.8.0/bin/jar" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/home/YOURNAME/programs/jdk1.8.0/bin/javac" 1
sudo update-alternatives --config java
sudo update-alternatives --config javaws
sudo update-alternatives --config jar
sudo update-alternatives --config javac
命令update-alternatives --config
可能会要求您回答一个问题,因此只需回答即可。
请注意,此安装仍未定义 JAVA_HOME 环境变量。在我安装一个关心它的包之前,我不需要定义它。如果您安装需要定义它的东西,那么您可以在文件中执行以下操作~/.bashrc
:
export JAVA_HOME=jdk-install-dir
export PATH=$JAVA_HOME/bin:$PATH
请注意,/bin 部分位于路径中,但不位于 JAVA_HOME 本身中。
这意味着 JAVA_HOME 是 BIN 目录上方的目录。
最后,无论是否是感恩节,都应该庆幸您不是在一个无法最大化或拉伸的微型 Windows ® 对话框中编辑路径,因此您无法看到整个路径,而且您必须使用可变间距字体来执行此操作,以使I
和1
看起来l
相同。