CentOS下怎么安装JDK_CentOS安装与配置Java开发环境教程

在CentOS上安装JDK,推荐手动下载OpenJDK LTS版本(如17或21)的.tar.gz包,解压至/opt目录并创建软链接,通过配置/etc/profile.d/java.sh设置JAVA_HOME、PATH和CLASSPATH环境变量,最后验证java -version和echo $JAVA_HOME确认安装成功;版本管理推荐使用软链接切换或alternatives命令。

centos下怎么安装jdk_centos安装与配置java开发环境教程

在CentOS系统上安装和配置Java开发环境(JDK),核心步骤通常包括下载合适的JDK包、解压到指定目录,然后配置系统环境变量。这个过程并不复杂,但一些细节处理得当,能让你的开发环境更稳定、更易于管理。对于大多数开发者来说,手动下载并配置一个特定版本的JDK,比如OpenJDK的某个LTS版本,是兼顾灵活性和稳定性的最佳实践。

解决方案

要在CentOS上搭建Java开发环境,我通常会选择手动下载JDK压缩包(

.tar.gz

文件),而不是直接使用

yum

安装系统自带的OpenJDK。原因很简单,手动安装能更好地控制JDK版本,避免系统更新带来的意外,也方便在不同项目间切换JDK版本。

以下是我通常的操作流程:

选择并下载JDK:首先,你需要决定使用哪个JDK版本。对于生产环境和长期项目,我倾向于选择LTS(长期支持)版本,比如OpenJDK 11、17或21。你可以从Adoptium (Temurin)、Oracle OpenJDK或者Red Hat OpenJDK等官方或可信赖的发行版网站下载对应的Linux x64

.tar.gz

压缩包。例如,我会去Adoptium下载最新的Temurin 17 LTS。

上传并解压JDK:将下载好的JDK压缩包上传到你的CentOS服务器。我习惯将其放在

/opt

目录下,这是一个用于存放可选应用软件的好地方。

# 假设你已经将jdk-17.0.x_linux-x64_bin.tar.gz上传到 /tmp 目录sudo mv /tmp/jdk-17.0.x_linux-x64_bin.tar.gz /opt/cd /optsudo tar -zxvf jdk-17.0.x_linux-x64_bin.tar.gz# 解压后通常会生成一个类似 jdk-17.0.x 的目录sudo rm jdk-17.0.x_linux-x64_bin.tar.gz # 清理安装包

为了方便管理,我有时会创建一个软链接,指向这个具体的JDK目录,这样以后升级JDK时,只需要更新软链接即可,而不用修改环境变量。

立即学习“Java免费学习笔记(深入)”;

sudo ln -s /opt/jdk-17.0.x /opt/java

这样,我的

JAVA_HOME

就可以指向

/opt/java

了。

配置环境变量:这是最关键的一步。为了让系统知道Java在哪里,你需要设置

JAVA_HOME

PATH

环境变量。我通常会在

/etc/profile.d/

目录下创建一个新的脚本文件,比如

java.sh

,这样系统启动时会自动加载,而且权限管理也更清晰。

sudo vi /etc/profile.d/java.sh

java.sh

中添加以下内容:

export JAVA_HOME=/opt/java # 替换为你的JDK实际路径或软链接export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

保存并退出。然后,让这些修改立即生效:

source /etc/profile.d/java.sh

或者,你也可以选择在当前用户的主目录下的

.bashrc

.bash_profile

中添加这些变量,这只会对当前用户生效。

验证安装:最后,确认JDK是否正确安装并配置。

java -versionjavac -versionecho $JAVA_HOME

如果能正确显示Java版本信息,并且

JAVA_HOME

输出你设置的路径,那么恭喜你,Java开发环境已经准备就绪了。

CentOS上安装JDK,我应该选择哪个版本?OpenJDK和Oracle JDK有什么区别

选择JDK版本时,我个人会优先考虑项目的实际需求和社区支持。当前主流的JDK版本通常是LTS版本,比如JDK 8、11、17和21。对于新项目,我强烈推荐使用JDK 17或21,它们带来了许多性能优化和新特性,能让你的代码更现代、更高效。如果你的项目需要兼容旧系统或依赖库,JDK 8或11可能是更好的选择。

至于OpenJDK和Oracle JDK的区别,这其实是一个老生常谈的话题了,但每次讨论都很有意思。简单来说:

OpenJDK:这是一个开源项目,是Java平台的参考实现。它完全免费,可以自由使用和分发。许多公司和社区都基于OpenJDK提供自己的发行版,比如Adoptium (Temurin)、Red Hat OpenJDK、Amazon Corretto等。这些发行版通常会包含一些额外的补丁、性能优化和长期支持。对于绝大多数开发者和企业来说,OpenJDK发行版是完全足够且推荐的选择。Oracle JDK:这是Oracle公司官方维护和发布的JDK版本。从JDK 11开始,Oracle JDK的许可模式发生了变化,对于商业用途可能需要付费订阅。当然,Oracle也提供了免费的OpenJDK版本,但通常其商业支持和某些专有特性(比如Java Flight Recorder的一些高级功能)会捆绑在付费产品中。

我的观点是,除非你有非常特殊的理由(比如公司有Oracle的全面技术栈支持,或者需要Oracle JDK的某些独有特性),否则选择一个信誉良好的OpenJDK发行版是更明智、更经济的选择。它们在功能上与Oracle JDK几乎没有差异,性能也相差无几,而且社区活跃,更新及时。

配置JAVA_HOME和PATH环境变量,究竟怎么做才最规范?

规范地配置

JAVA_HOME

PATH

环境变量,不仅能确保Java命令在任何位置都能被识别,还能避免不同Java应用之间可能出现的版本冲突。我个人认为,最规范的做法是利用

/etc/profile.d/

目录,因为它提供了系统级的统一配置,并且易于管理。

JAVA_HOME

:这个变量指向你的JDK安装根目录。例如,如果你把JDK解压到了

/opt/jdk-17.0.x

,那么

JAVA_HOME

就应该设置为

/opt/jdk-17.0.x

。如果像我前面建议的,创建了一个软链接

/opt/java

指向实际的JDK目录,那么

JAVA_HOME

就设置为

/opt/java

。这样做的好处是,许多Java应用程序和构建工具(如Maven、Gradle)都会依赖

JAVA_HOME

来定位Java运行时。

PATH

PATH

环境变量告诉操作系统在哪些目录中查找可执行文件。你需要将

$JAVA_HOME/bin

添加到

PATH

中,这样你就可以直接在命令行中运行

java

javac

等命令,而不需要输入它们的完整路径。

export PATH=$JAVA_HOME/bin:$PATH

这里的

$PATH

是原有的

PATH

值,

$JAVA_HOME/bin

放在前面意味着系统会优先查找这个目录下的可执行文件。

CLASSPATH

(可选但推荐):

CLASSPATH

用于指定Java虚拟机(JVM)在查找类文件时需要搜索的路径。虽然现代Java开发工具(如Maven、Gradle)通常会自行管理类路径,但为了完整性,我还是会将其配置上,指向JDK的

lib

目录下的

dt.jar

tools.jar

,以及当前目录

.

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

为什么

/etc/profile.d/

是规范的选择?

帮衣帮-AI服装设计 帮衣帮-AI服装设计

AI服装设计神器,AI生成印花、虚拟试衣、面料替换

帮衣帮-AI服装设计 106 查看详情 帮衣帮-AI服装设计 系统级生效:在这个目录下创建的脚本会在所有用户登录时自动执行,确保所有用户都能访问到配置好的Java环境。模块化管理:每个服务或应用的环境变量可以独立存放在一个脚本文件中,便于查看、修改和删除,避免了修改

/etc/profile

这个核心文件的风险。权限清晰:这些文件通常由root用户创建和管理,符合系统管理规范。

当然,如果你只是为单个用户配置,那么修改用户主目录下的

.bashrc

.bash_profile

也是完全可以的。但对于服务器环境,我更推荐

/etc/profile.d/

CentOS系统里有多个JDK版本,我该如何管理和切换?

在开发过程中,遇到需要切换不同JDK版本的情况简直是家常便饭。比如,一个老项目需要JDK 8,而新项目则基于JDK 17。CentOS提供了

alternatives

命令来管理系统中的不同版本软件,但对我来说,有时候直接调整

JAVA_HOME

反而更灵活。

方法一:使用

alternatives

命令(系统级管理)

alternatives

是一个强大的工具,它允许你注册多个版本的软件,并设置一个默认的“提供者”。

注册新的JDK版本:假设你已经安装了JDK 8和JDK 17,并且它们分别在

/opt/java8

/opt/java17

sudo alternatives --install /usr/bin/java java /opt/java8/bin/java 1sudo alternatives --install /usr/bin/javac javac /opt/java8/bin/javac 1sudo alternatives --install /usr/bin/jar jar /opt/java8/bin/jar 1# ... 对其他Java工具(如javadoc, jconsole等)重复此操作sudo alternatives --install /usr/bin/java java /opt/java17/bin/java 2sudo alternatives --install /usr/bin/javac javac /opt/java17/bin/javac 2sudo alternatives --install /usr/bin/jar jar /opt/java17/bin/jar 2# 注意后面的数字是优先级,数字越大优先级越高

这里的

--install

参数后面跟着:

/usr/bin/java

:这是你希望创建的符号链接的路径。

java

:这是符号链接的名称。

/opt/java8/bin/java

:这是实际的可执行文件路径。

1

:这是一个优先级数字。

切换JDK版本

sudo alternatives --config java

系统会列出所有已注册的Java版本,并让你选择一个数字来切换。

There are 2 programs which provide 'java'.  Selection    Command-----------------------------------------------   1           /opt/java8/bin/java*+ 2           /opt/java17/bin/javaEnter to keep the current selection[+], or type selection number:

输入你想要的版本对应的数字,回车即可。

方法二:通过调整

JAVA_HOME

PATH

(更灵活,我常用)

对于个人开发环境,我发现直接修改

JAVA_HOME

环境变量通常更直接、更灵活,尤其是在使用版本管理工具(如

asdf

sdkman

)时。

如果你没有使用

alternatives

,或者觉得它有点重,你可以:

/etc/profile.d/java.sh

中修改

JAVA_HOME

:直接编辑之前创建的

java.sh

文件,将

export JAVA_HOME=/opt/java

中的

/opt/java

修改为

/opt/java8

/opt/java17

,然后

source /etc/profile.d/java.sh

。这种方法需要root权限,并且会影响所有用户。

使用软链接切换(我的推荐):如果你之前创建了

/opt/java

这个软链接,那么切换起来就非常方便了。

# 切换到JDK 8sudo rm /opt/javasudo ln -s /opt/java8 /opt/javasource /etc/profile.d/java.sh # 重新加载环境变量# 切换到JDK 17sudo rm /opt/javasudo ln -s /opt/java17 /opt/javasource /etc/profile.d/java.sh # 重新加载环境变量

这种方式既直观又高效,避免了频繁修改配置文件,而且

JAVA_HOME

始终指向

/opt/java

,对应用程序是透明的。

用户级切换:如果你只希望在当前用户下切换JDK,可以在

~/.bashrc

~/.bash_profile

中设置

JAVA_HOME

# 在~/.bashrc中添加或修改export JAVA_HOME=/opt/java17export PATH=$JAVA_HOME/bin:$PATH

然后

source ~/.bashrc

。这种方法的好处是互不影响,每个用户可以有自己的Java环境。

总的来说,

alternatives

适合系统管理员在多用户环境下管理系统默认的Java版本。而对于单个开发者,特别是需要频繁切换的场景,通过软链接或者直接在用户配置文件中调整

JAVA_HOME

,通常会是更轻松、更符合直觉的选择。我个人更倾向于软链接的方式,它在系统级和用户级之间找到了一个很好的平衡点。

以上就是CentOS下怎么安装JDK_CentOS安装与配置Java开发环境教程的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/348309.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月5日 21:15:17
下一篇 2025年11月5日 21:20:38

相关推荐

发表回复

登录后才能评论
关注微信