升级CentOS自带的JDK

CentOS中安装与配置OpenJDK的详细步骤
本文详细介绍了如何在CentOS中安装并配置OpenJDK,包括安装方式、查看版本、环境变量配置及安装后验证,帮助开发者在开发环境中正确使用Java。

查看原自带版本:
# java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (rhel-2.5.5.1.el6_6-x86_64 u79-b14)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)

查看java程序路径:
# which java
/usr/bin/java

查看java相关路径:
# whereis java
java: /usr/bin/java /etc/java /usr/lib/java /usr/lib64/java /usr/share/java /usr/share/man/man1/java.1.gz

查看JAVA_HOME环境变量
# echo $JAVA_HOME
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64
注:如果没有配置"/etc/profile"文件,则不会输出"$JAVA_HOME"的值.


# /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64/bin/java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (rhel-2.5.5.1.el6_6-x86_64 u79-b14)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)

查看PATH环境变量
# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64/bin:/root/bin

由上面观察可知,CentOS默认安装的OpenJDK目录为
"/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64"(用于开发环境)
在系统安装时CentOS还在/usr/bin/目录下复制了java javac等程序(用于生产环境,相当于jre的作用)

安装方式:在gnome下rpm安装
软件:jdk-8u74-linux-x64.rpm
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
下载后双击安装。
安装后(也没有成功提示),再次查看版本:
# java -version
java version "1.7.0_79"
可见没起作用,查看/usr/java/目录下多了3个(default;jdk1.8.0_74;latest)目录,查看此文件夹JDK版本:
# /usr/java/default/bin/java -version
java version "1.8.0_74"
Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)
根据返回信息,可确定安装包确实运行成功了,只不过没有修改JAVA_HOME等环境变量。

查看并修改系统配置文件
vi /etc/profile
找到原配置:
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
#*****************************
改为:
export JAVA_HOME=/usr/java/default/
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

修改后保存。
source /etc/profile,使设置生效

环境变量配置完成。需要注意的是,PATH在配置的时候,一定要把$JAVA_HOME/bin放在前面,不然使用java命令时,系统会找到以前的java,就不往下找了。这样java这个可执行文件运行的目录其实不在$JAVA_HOME/bin下,而在其它目录下,会造成很大的问题。

官方安装说明这几句:
The RPM package creates two links: /usr/java/latest and /usr/java/default.
The /usr/java/latest link will always point to the version of Java that is considered the latest version. Subsequent upgrades of the package will overwrite this value if it is not the latest version.
 
By default, /usr/java/default points to /usr/java/latest.

### 在 CentOS 上安装和配置 JDK 11 #### 卸载系统中自带的 OpenJDK 如果系统已经预装了其他版本的 JDK 或 OpenJDK,则需要先将其卸载。可以运行以下命令来查看当前已安装的 JDK 版本: ```bash java -version ``` 如果有不需要的 JDK 版本,可以通过以下命令卸载: ```bash yum remove java-1.*.openjdk* ``` 这会移除所有与 OpenJDK 相关的软件包。 --- #### 下载 JDK 11 压缩包 访问 Oracle 官方网站或其他可信源下载适用于 Linux 的 JDK 11 压缩包 `jdk-11.x.x_linux-x64_bin.tar.gz`[^3]。也可以通过 wget 工具直接从终端下载: ```bash wget https://download.oracle.com/java/11/latest/jdk-11.x.x_linux-x64_bin.tar.gz ``` 注意:请将 URL 替换为实际可用的下载地址。 --- #### 解压缩 JDK 压缩包 创建一个用于存储 JDK 的目录并解压文件到该位置: ```bash mkdir -p /export/server tar -zxvf jdk-11.x.x_linux-x64_bin.tar.gz -C /export/server/ ``` 上述操作会在 `/export/server/` 路径下生成一个名为 `jdk-11.x.x` 的文件夹。 为了方便管理,还可以为 JDK 创建一个软链接: ```bash ln -s /export/server/jdk-11.x.x /export/server/jdk ``` 这样无论未来升级哪个具体的小版本号,都可以统一指向 `/export/server/jdk` 这个路径。 --- #### 配置环境变量 编辑全局环境变量配置文件 `/etc/profile` 来添加 JDK 的路径支持: ```bash vi /etc/profile ``` 在文件末尾追加如下内容: ```bash export JAVA_HOME=/export/server/jdk export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ``` 保存退出后使更改立即生效: ```bash source /etc/profile ``` 验证环境变量是否配置成功: ```bash java -version javac -version ``` 如果显示的是 JDK 11 的相关信息,则说明配置完成[^4]。 --- ### 注意事项 - 如果希望仅针对某个用户的 shell 使用特定的 JDK,可以在其家目录下的 `.bashrc` 文件中定义相应的环境变量。 - 对于生产服务器而言,建议定期更新 JDK 至最新的安全补丁版本,并重新调整软链目标以保持兼容性和安全性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值