如何在 CentOS 上安装 Java SDK?

Posted

技术标签:

【中文标题】如何在 CentOS 上安装 Java SDK?【英文标题】:How to install Java SDK on CentOS? 【发布时间】:2011-07-03 13:16:15 【问题描述】:

我有CentOS 5,但是我不知道在Linux上安装Java SDK的步骤。

在哪里下载 RPM 文件,接下来我该怎么做才能完全安装它?

那我需要安装Tomcat。

或者有没有现成的包供大家使用?

【问题讨论】:

我怀疑当我们指的是 Oracle Java 或可以接受其中一种开源替代方案时,我们需要开始澄清。 Sventek 有一个很好的答案 - 但如果您的工具的维护者拒绝修复问题,直到在 Oracle Java/JDK 工具上重现,这将无济于事。 【参考方案1】:

以下命令将返回与 Java 直接相关的所有包的列表。它们的格式为java-<version>

$ yum search java | grep 'java-'

如果没有可用的软件包,那么您可能需要下载一个新的存储库进行搜索。我建议看看Dag Wieers' repo。下载后,再次尝试上述命令。

您将看到至少一个可供下载的 Java 软件包版本。根据您阅读本文的时间,最新可用版本可能不同。

java-1.7.0-openjdk.x86_64

仅上述软件包将仅安装 JRE。要同时安装 javac 和 JDK,以下命令可以解决问题:

$ yum install java-1.7.0-openjdk*

将安装这些包(以及它们的依赖项):

java-1.7.0-openjdk.x86_64
java-1.7.0-openjdk-accessibility.x86_64
java-1.7.0-openjdk-demo.x86_64
java-1.7.0-openjdk-devel.x86_64
java-1.7.0-openjdk-headless.x86_64
java-1.7.0-openjdk-javadoc.noarch
java-1.7.0-openjdk-src.x86_64

【讨论】:

在 CentOS 6.5 上测试。 sudo yum install java-1.7.0-openjdk.x86_64 仅安装 JRE(javac 将不存在)。 sudo yum install java-1.7.0-openjdk-devel 安装 JDK。 我可以确认这也适用于旧版本的 CentOS(我刚刚在 5.6 上运行了 yum install 命令)。 安装后:在centos 6.5上配置iptables -> /etc/sysconfig/iptables -> -A INPUT -i eth0 -p tcp -m tcp --dport 8080 -m state --state NEW,已建立 -j 接受 @ThammeGowdaN 我提交了包含您的说明的编辑。 在 CentOS 7 上测试并确认。【参考方案2】:

@Sventeck,完美。

redhat 文档总是一个很好的来源 - 很好的教程解释了如何通过 yum 安装 JDK 然后设置路径可以在这里找到(玩得开心!) - Install OpenJDK and set $JAVA_HOME path

OpenJDK 6:

yum install java-1.6.0-openjdk-devel

OpenJDK 7:

yum install java-1.7.0-openjdk-devel

要列出所有可用的 java openjdk-devel 包,请尝试:

yum list "java-*-openjdk-devel"

【讨论】:

在 CentOS 6.4 上测试,我确认它是“centos”方式。 JAVA_HOME 环境变量应该设置在“/etc/alternatives/jre”上。 要爱我一些centos!该变量也可以存储在 /etc/environment 中,这是大多数系统范围的全局变量应该存在的地方。 echo JAVA_HOME="path/to/JAVA_HOME" >> /etc/environment【参考方案3】:

Here 是关于在 CentOS6 上设置 Java 及其路径的详细信息。

以下步骤用于安装最新的 Java 版本 8:

    Oracle site下载java rpm包。 (jdk-8-linux-x64.rpm) 从 rpm 安装。 (rpm -Uvh jdk-8-linux-x64.rpm) 打开/etc/profile,设置java路径,保存。 检查 java 安装路径和 java 版本,使用命令:which javajava -version

现在您可以使用示例 java 程序测试安装

【讨论】:

【参考方案4】:

另一个答案是,

sudo yum list \*java-1\* | grep open 

比从列表中选择一个并安装它

例如,

sudo yum install java-1.7.0-openjdk.x86_64

【讨论】:

【参考方案5】:

在 centos 7 上,我只是这样做

sudo yum install java-sdk

我假设您已经拥有最常见的 repo。 Centos 只是找到带有 -devel 后缀的正确 SDK。

【讨论】:

【参考方案6】:

如果您想要 Oracle JDK 并且不愿意使用 yum/rpm,请在此处查看此答案:

Downloading Java JDK on Linux via wget is shown license page instead

根据该帖子,您可以使用 curl 并指定 cookie 标头自动下载 tarball。

然后你可以把 tarball 的内容放到正确的地方,并把 java 添加到你的 PATH 中,例如:

curl -v -j -k -L -H "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-x64.tar.gz > jdk.tar.gz

tar xzvf jdk.tar.gz
sudo mkdir /usr/local/java
sudo mv jdk1.8.0_45 /usr/local/java/
sudo ln -s /usr/local/java/jdk1.8.0_45 /usr/local/java/jdk

sudo vi /etc/profile.d/java.sh
export PATH="$PATH:/usr/local/java/jdk/bin"
export JAVA_HOME=/usr/local/java/jdk

source /etc/profile.d/java.sh

【讨论】:

【参考方案7】:

yum install java-1.8.0

然后:

alternatives --config java

并检查:

java -version

【讨论】:

【参考方案8】:

由于Oracle在其下载链接中插入了一些md5hash,因此无法自动组装命令行下载链接。

所以我修改了一些讨厌的 bash 命令行来获取最新的 jdk 下载链接,下载它并直接通过 rpm 安装。 对于所有感兴趣的人:

wget -q http://www.oracle.com/technetwork/java/javase/downloads/index.html -O ./index.html && grep -Eoi ']+>' index.html | grep -Eoi '/technetwork/java/javase/downloads/jdk8-downloads-[0-9]+.html' | (头-n 1)| awk '打印 "http://www.oracle.com"$1' | xargs wget --no-cookies --header "Cookie: gpw_e24=xxx; oraclelicense=accept-securebackup-cookie;" -O index.html -q && grep -Eoi '"filepath":"[^"]+jdk-8u[0-9]+-linux-x64.rpm"' index.html | grep -Eoi 'http:[^"]+' | xargs wget --no-cookies --header "Cookie: gpw_e24=xxx; oraclelicense=accept-securebackup-cookie;" -q -O ./jdk8.rpm && sudo rpm -i ./jdk8.rpm

粗体部分应该换成你喜欢的包。

【讨论】:

正义的黑客。 我在 bash 脚本中使用了类似的方法来获取版本 8 和 9 的最新 JRE 和 JDK 下载链接。可以在 this thread as answer 中找到。【参考方案9】:

使用以下命令通过终端安装oracle java8

步骤 -1) 访问 Oracle JDK 下载页面,查找 RPM 版本

步骤 -2) 使用以下命令下载 oracle java 8 wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.rpm

步骤 -3) 使用以下命令安装 java8 sudo yum localinstall jdk-8u121-linux-x64.rpm 现在JDK应该安装在 /usr/java/jdk1.8.0_121 步骤 -4) 删除下载的 .rpm 文件以利用空间。 rm jdk-8u121-linux-x64.rpm

步骤 -5) 使用命令验证 java java -版本

Step -6) 如果CentOS安装了多个JDK,可以使用alternatives命令设置默认java sudo 替代品 --config java

步骤 -7) 可选设置 JAVA_HOME 环境变量。 复制 jdk 安装路径,即 /usr/java/jdk1.8.0_121 使用以下命令导出 java home 导出 JAVA_HOME=/usr/java/jdk1.8.0_121 导出 PATH=$PATH:$JAVA_HOME

【讨论】:

【参考方案10】:

我写了一个shell脚本来在centos上安装/卸载java。 你可以通过运行 shell 来完成它。 这个外壳的核心是:

1.download the jdk rpm(RedHat Package Manager) package.
2.install java using rpm.

您可以在此处查看更多详细信息: https://github.com/daikaixian/WaterShell/tree/master/program_installer

希望它对你有用。

【讨论】:

【参考方案11】:

这就是我所做的:

    首先,我从 Oracle 站点下载了用于 Java JDK 和 JRE 的 .tar 文件。

    .tar文件解压到opt文件夹中。

    我遇到了一个问题,尽管我为 Java 9 设置了环境变量 JAVA_HOMEPATH,但它仍然将 Java 8 显示为我的运行时环境。因此,我使用ln 命令将Java 9.0.4 目录符号链接到/user/bin

    我使用java -version 命令来检查当前将哪个版本的java 设置为我的默认java 运行时环境。

【讨论】:

【参考方案12】:

要以非 root 用户使用 yum 安装 OpenJDK 8 JRE,请运行以下命令:

sudo yum install java-1.8.0-openjdk

验证 java -版本

【讨论】:

以上是关于如何在 CentOS 上安装 Java SDK?的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7 使用yum命令安装Java SDK(openjdk)

如何修改cloudera默认的java路径

如何在CentOS上安装Tomcat

如何在CentOS上安装Tomcat

CentOS上安装RabbitMQ

如何在centos环境下搭建java环境