如何在 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 java、java -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_HOME
和 PATH
,但它仍然将 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?的主要内容,如果未能解决你的问题,请参考以下文章