CentOS7环境下安装JDK 1.8及解决wget命令缺失问题的办法

 更新时间:2025年10月09日 08:37:01   作者:码农阿豪@新空间  
在CentOS 7中wget命令是一个非常实用的工具,用于从互联网下载文件,然而默认情况下,wget可能未安装,这篇文章主要介绍了CentOS7环境下安装JDK 1.8及解决wget命令缺失问题的相关资料,需要的朋友可以参考下

1. 引言

在 Linux 服务器运维和 Java 应用部署过程中,JDK(Java Development Kit)的安装是基础且关键的一步。同时,wget 作为常用的文件下载工具,在自动化脚本和软件包管理中扮演重要角色。

然而,在 CentOS 7 环境下,由于系统版本较旧,可能会遇到:

  • JDK 1.8 安装困难(默认仓库可能不包含 OpenJDK 8)
  • wget 命令缺失(即使 yum 提示已安装,但实际不可用)
  • DNS 解析或 YUM 镜像源问题(导致无法正常安装软件)

本文将详细介绍:

  1. 如何检查 CentOS 7 系统信息
  2. 安装 JDK 1.8 的几种方法
  3. 解决 wget 命令不可用的问题
  4. 修复 YUM/DNS 网络问题

2. 环境检查

在安装 JDK 或 wget 之前,应先确认系统版本和架构:

# 查看内核版本
uname -a
# 输出示例:Linux VM-12-8-centos 3.10.0-1160.99.1.el7.x86_64

# 检查系统发行版
cat /etc/centos-release
# 输出示例:CentOS Linux release 7.9.2009 (Core)

# 检查 CPU 架构
arch
# 输出示例:x86_64

如果系统是 CentOS 7,则默认包管理工具是 yumdnf 在 CentOS 8+ 才引入)。

3. 安装 JDK 1.8

CentOS 7 默认仓库可能不包含 OpenJDK 8,因此需要手动安装。

方法 1:安装 OpenJDK 8(推荐)

# 1. 安装 OpenJDK 8
sudo yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

# 2. 验证安装
java -version
# 输出示例:openjdk version "1.8.0_382"

方法 2:手动安装 Oracle JDK 8

如果必须使用 Oracle JDK:

# 1. 下载 JDK 8(需从 Oracle 官网获取)
wget https://download.oracle.com/otn/java/jdk/8u381-b09/jdk-8u381-linux-x64.tar.gz

# 2. 解压并安装
tar -xzf jdk-8u381-linux-x64.tar.gz
sudo mv jdk1.8.0_381 /usr/local/

# 3. 配置环境变量
echo 'export JAVA_HOME=/usr/local/jdk1.8.0_381' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

# 4. 验证
java -version
# 输出示例:java version "1.8.0_381"

方法 3:使用第三方仓库(如 AdoptOpenJDK)

如果默认仓库没有 OpenJDK 8:

# 1. 启用 AdoptOpenJDK 仓库
sudo yum install -y wget
wget https://adoptopenjdk.jfrog.io/adoptopenjdk/rpm/centos/7/x86_64/AdoptOpenJDK.repo
sudo mv AdoptOpenJDK.repo /etc/yum.repos.d/

# 2. 安装 AdoptOpenJDK 8
sudo yum install -y adoptopenjdk-8-hotspot

4. 解决wget命令缺失问题

在 CentOS 7 上,wget 可能被误删或未正确安装。

方法 1:重新安装wget

# 强制重新安装
sudo yum reinstall -y wget

# 验证
wget --version
# 输出示例:GNU Wget 1.14

方法 2:修复 YUM 镜像源

如果 yum install wget 报错(如 DNS 解析失败):

# 1. 临时修复 DNS
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
echo "nameserver 114.114.114.114" | sudo tee -a /etc/resolv.conf

# 2. 更换为阿里云镜像
sudo sed -i 's/mirror.centos.org/mirrors.aliyun.com/g' /etc/yum.repos.d/CentOS-*.repo
sudo yum clean all
sudo yum makecache

# 3. 重新安装 wget
sudo yum install -y wget

方法 3:手动下载 RPM 安装

如果 yum 完全不可用:

# 下载 wget RPM(适用于 CentOS 7 x86_64)
curl -O http://mirror.centos.org/centos/7/os/x86_64/Packages/wget-1.14-18.el7_6.1.x86_64.rpm

# 手动安装
sudo rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm

5. 常见问题及解决方案

Q1:yum报错Could not resolve host

原因:DNS 解析失败。

解决:

# 临时修改 DNS
echo "nameserver 8.8.8.8" >> /etc/resolv.conf

Q2:wget已安装但仍不可用

原因:可能被误删或路径未加入 PATH

解决:

# 查找 wget 位置
which wget
# 如果无输出,重新安装
sudo yum reinstall -y wget

Q3:JDK 安装后java -version不生效

原因:环境变量未正确配置。

解决:

# 检查 JAVA_HOME
echo $JAVA_HOME
# 如果为空,手动设置
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH

6. 总结

本文介绍了在 CentOS 7 环境下:

  1. 如何安装 JDK 1.8(OpenJDK / Oracle JDK / AdoptOpenJDK)
  2. 解决 wget 命令缺失问题(重新安装 / 更换镜像源 / 手动 RPM 安装)
  3. 修复 YUM 和 DNS 问题(阿里云镜像 + Google DNS)

适用于:

  • 服务器运维人员
  • Java 开发者
  • 需要自动化部署的场景

到此这篇关于CentOS7环境下安装JDK 1.8及解决wget命令缺失问题的文章就介绍到这了,更多相关CentOS7安装JDK1.8解决wget命令缺失内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java案例实现不重复的随机数

    Java案例实现不重复的随机数

    这篇文章主要介绍了Java案例实现不重复的随机数,通过创建Set集合对象,可以使用HashSet也可以使用TreeSet,区别在于TreeSet是排序后的,创建随机数对象,获取一个随机数去重等操作,需要的朋友可以参考一下
    2022-04-04
  • Java开发中的常用设计模式实战应用小结

    Java开发中的常用设计模式实战应用小结

    本文详细介绍了Java开发中5个最常用的设计模式:单例模式、工厂方法模式、观察者模式、策略模式和适配器模式,并结合实际业务场景提供了完整的Java代码示例,感兴趣的朋友跟随小编一起看看吧
    2026-03-03
  • Java连接mysql数据库以及mysql驱动jar包下载和使用方法

    Java连接mysql数据库以及mysql驱动jar包下载和使用方法

    这篇文章主要给大家介绍了关于Java连接mysql数据库以及mysql驱动jar包下载和使用方法,MySQL是一款常用的关系型数据库,它的JDBC驱动程序使得我们可以通过Java程序连接MySQL数据库进行数据操作,需要的朋友可以参考下
    2023-11-11
  • SpringBoot异步与事务一起使用的问题解决

    SpringBoot异步与事务一起使用的问题解决

    本文主要介绍了SpringBoot异步与事务一起使用的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • SpringBoot中将@Bean方法解析为BeanDefinition详解

    SpringBoot中将@Bean方法解析为BeanDefinition详解

    这篇文章主要介绍了SpringBoot中将@Bean方法解析为BeanDefinition详解,得到的BeanDefinition是ConfigurationClassBeanDefinition类型,会为BeanDefinition设置factoryMethodName,这意味着当实例化这个bean的时候将采用工厂方法,需要的朋友可以参考下
    2023-12-12
  • MyBatis TypeHandler自定义类型转换与实战案例解析

    MyBatis TypeHandler自定义类型转换与实战案例解析

    本文将介绍MyBatis中TypeHandler的基础概念,并通过具体的使用案例,展示如何自定义并应用TypeHandler以提高数据处理的灵活性和可维护性,感兴趣的朋友跟随小编一起看看吧
    2026-01-01
  • 一文吃透消息队列RocketMQ实现消费幂等原理

    一文吃透消息队列RocketMQ实现消费幂等原理

    这篇文章主要介绍了消息队列RocketMQ实现消费幂等的全面讲解,帮助大家吃透RocketMQ消息队列消费幂等,更好的的应用与工作实践,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • springboot整合企微webhook机器人发送消息提醒

    springboot整合企微webhook机器人发送消息提醒

    这篇文章主要为大家介绍了springboot整合企微webhook机器人发送消息提醒,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • SpringBoot+actuator和admin-UI实现监控中心方式

    SpringBoot+actuator和admin-UI实现监控中心方式

    这篇文章主要介绍了SpringBoot+actuator和admin-UI实现监控中心方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • SpringBoot中使用Flux实现流式返回的方法小结

    SpringBoot中使用Flux实现流式返回的方法小结

    文章介绍流式返回(StreamingResponse)在SpringBoot中通过Flux实现,优势包括提升用户体验、降低内存消耗、支持长连接,适用于实时对话等场景,并给出调用阿里云DeepSeek模型的流式接口示例代码,感兴趣的朋友跟随小编一起看看吧
    2025-06-06

最新评论