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中的原子类AtomicInteger使用详解

    Java中的原子类AtomicInteger使用详解

    这篇文章主要介绍了Java中的原子类AtomicInteger使用详解,原子操作是指不会被线程调度机制打断的操作,这种操作一旦开始,就一直运行到结束,中间不会有任何线程上下文切换,需要的朋友可以参考下
    2023-12-12
  • Java利用Netty时间轮实现延时任务

    Java利用Netty时间轮实现延时任务

    时间轮是一种可以执行定时任务的数据结构和算法。本文将为大家详细讲解一下Java如何利用Netty时间轮算法实现延时任务,感兴趣的小伙伴可以了解一下
    2022-08-08
  • Spring循环依赖之问题复现详解

    Spring循环依赖之问题复现详解

    这篇文章主要为大家详细介绍了Spring的循环依赖什么时候会出现以及如何解决循环依赖,文中的示例代码讲解详细,感兴趣的可以学习一下
    2022-07-07
  • spring boot之使用spring data jpa的自定义sql方式

    spring boot之使用spring data jpa的自定义sql方式

    这篇文章主要介绍了spring boot之使用spring data jpa的自定义sql方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java超详细讲解SpringMVC如何获取请求数据

    Java超详细讲解SpringMVC如何获取请求数据

    Spring MVC 是 Spring 提供的一个基于 MVC 设计模式的轻量级 Web 开发框架,本质上相当于 Servlet,Spring MVC 角色划分清晰,分工明细,本章来讲解SpringMVC如何获取请求数据
    2022-04-04
  • JAVA Iterator接口与增强for循环的实现

    JAVA Iterator接口与增强for循环的实现

    这篇文章主要介绍了JAVA Iterator接口与增强for循环的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • 解决Spring Security 用户帐号已被锁定问题

    解决Spring Security 用户帐号已被锁定问题

    这篇文章主要介绍了解决Spring Security 用户帐号已被锁定问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • 揭秘Spring核心注解@Configuration与@Component的本质区别

    揭秘Spring核心注解@Configuration与@Component的本质区别

    在Spring框架中,@Configuration和@Component都是常用的注解,但它们有着本质的区别,本文将深入剖析这两者的核心区别,并通过代码示例展示它们的实际行为差异
    2025-07-07
  • 在mybatis中去除多余的前缀或者后缀操作

    在mybatis中去除多余的前缀或者后缀操作

    这篇文章主要介绍了在mybatis中去除多余的前缀或者后缀操作。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Springmvc处理ajax请求并返回json数据

    Springmvc处理ajax请求并返回json数据

    这篇文章主要介绍了Springmvc处理ajax请求并返回json数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07

最新评论