首页 > 运维 > CentOS > 正文

怎么在CentOS安装JDK_CentOS安装Java开发环境步骤教程

爱谁谁
发布: 2025-08-28 13:31:01
原创
620人浏览过
答案:在CentOS上安装JDK,推荐使用yum安装OpenJDK,配置环境变量并用alternatives管理多版本。具体步骤包括检查并卸载旧版本Java,通过yum install安装OpenJDK-devel包,或手动解压Oracle JDK后使用alternatives注册;编辑/etc/profile设置JAVA_HOME、PATH和CLASSPATH,执行source /etc/profile生效;通过alternatives --config java切换多版本,确保JAVA_HOME与实际版本一致,避免路径错误和版本冲突,从而完成Java环境的正确部署与管理。

怎么在centos安装jdk_centos安装java开发环境步骤教程

在CentOS上安装JDK,核心步骤通常围绕着选择合适的JDK版本(OpenJDK或Oracle JDK),然后通过包管理器(如

yum
登录后复制
)或手动下载并配置环境变量来完成。我个人经验是,大部分时候,如果你不是有特殊需求,OpenJDK是更便捷、更少麻烦的选择,尤其是在CentOS这种企业级Linux发行版上,它的集成度和兼容性都相当不错。

解决方案

说实话,每次在新的CentOS服务器上部署Java环境,我都会习惯性地深吸一口气,因为这事儿看着简单,但坑也不少。我的习惯是先检查系统里是不是已经有Java了,毕竟有时候一些基础服务可能自带了JRE,或者以前的同事装过。

  1. 检查现有Java环境

    java -version
    登录后复制
    which java
    登录后复制
    rpm -qa | grep java
    登录后复制
    如果看到有旧版本,或者你想彻底清理,可以考虑卸载。
    sudo yum remove java*
    登录后复制
    sudo yum autoremove
    登录后复制
    (清理依赖) 这一步其实挺重要的,避免新旧版本冲突带来的各种玄学问题。

  2. 选择并安装JDK 我个人更偏向于OpenJDK,倒不是因为它免费开源,而是因为它在CentOS上的集成度确实高出一截,通过

    yum
    登录后复制
    安装省心省力。

    • 方法一:使用

      yum
      登录后复制
      安装OpenJDK(推荐) 先搜索可用的OpenJDK版本:
      sudo yum search openjdk
      登录后复制
      你会看到类似
      java-1.8.0-openjdk-devel
      登录后复制
      java-11-openjdk-devel
      登录后复制
      等包。
      devel
      登录后复制
      后缀通常包含了开发工具(如
      javac
      登录后复制
      ),这是我们需要的JDK。 安装你需要的版本,比如Java 8:
      sudo yum install java-1.8.0-openjdk-devel
      登录后复制
      或者Java 11:
      sudo yum install java-11-openjdk-devel
      登录后复制
      yum
      登录后复制
      会自动处理依赖关系,安装完成后,基本上JDK就可用了。

    • 方法二:手动安装Oracle JDK 如果你非要用Oracle JDK,比如项目有特定依赖或者就是喜欢它的性能调优工具,那就得去Oracle官网下载对应的

      tar.gz
      登录后复制
      包(需要Oracle账号登录,并且要留意许可协议)。 假设你下载的是
      jdk-8uXXX-linux-x64.tar.gz
      登录后复制
      : 创建一个目录来存放JDK:
      sudo mkdir -p /opt/java
      登录后复制
      将下载的文件解压到这个目录:
      sudo tar -xzf jdk-8uXXX-linux-x64.tar.gz -C /opt/java
      登录后复制
      解压后,目录名可能类似
      jdk1.8.0_XXX
      登录后复制
      。 接下来,需要使用
      alternatives
      登录后复制
      命令来注册这个JDK,让系统知道它的存在:
      sudo alternatives --install /usr/bin/java java /opt/java/jdk1.8.0_XXX/bin/java 1
      登录后复制
      sudo alternatives --install /usr/bin/javac javac /opt/java/jdk1.8.0_XXX/bin/javac 1
      登录后复制
      如果需要,还可以为
      jar
      登录后复制
      等其他命令注册。

  3. 配置环境变量 这一步是确保系统能找到并正确使用你安装的JDK。通常,我们需要设置

    JAVA_HOME
    登录后复制
    和更新
    PATH
    登录后复制
    。 编辑
    /etc/profile
    登录后复制
    文件,这是系统级的环境变量配置文件,对所有用户生效。
    sudo vi /etc/profile
    登录后复制
    在文件末尾添加以下内容(根据你安装的JDK路径调整):

    • OpenJDK路径示例(
      yum
      登录后复制
      安装后):
      export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
      登录后复制
      (或
      java-11-openjdk
      登录后复制
      等)
      export PATH=$JAVA_HOME/bin:$PATH
      登录后复制
      export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      登录后复制
    • Oracle JDK路径示例(手动安装后):
      export JAVA_HOME=/opt/java/jdk1.8.0_XXX
      登录后复制
      export PATH=$JAVA_HOME/bin:$PATH
      登录后复制
      export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      登录后复制
      保存并退出。 让修改立即生效:
      source /etc/profile
      登录后复制
      如果你只想对当前用户生效,可以编辑
      ~/.bashrc
      登录后复制
      ~/.bash_profile
      登录后复制
  4. 验证安装

    java -version
    登录后复制
    javac -version
    登录后复制
    echo $JAVA_HOME
    登录后复制
    如果这些命令都能正确输出版本信息和
    JAVA_HOME
    登录后复制
    路径,那么恭喜你,Java开发环境就搭建好了。

CentOS上安装JDK,选择OpenJDK还是Oracle JDK更合适?

这真是个老生常谈的问题,但它背后的考量却挺实际。说白了,选择哪个JDK,主要看你的具体需求、项目约束以及对维护便利性的偏好。

OpenJDK,作为Java的开源实现,是CentOS这类Linux发行版默认且推荐的JDK。它的优势在于:

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

  1. 免费与开源: 你可以自由使用、分发,没有许可费用的顾虑。对于大多数企业和个人开发者来说,这省去了不少麻烦。
  2. 易于安装和维护: 通过
    yum
    登录后复制
    包管理器,安装OpenJDK简直是傻瓜式操作,
    yum update
    登录后复制
    也能轻松升级。这大大降低了维护成本,尤其是在管理大量服务器时。
  3. 社区支持: OpenJDK背后有庞大的社区支持,Bug修复和新特性迭代都非常活跃。
  4. 兼容性: 绝大多数Java应用在OpenJDK上都能运行良好,性能也与Oracle JDK不相上下。

而Oracle JDK,曾经是Java的“官方”实现,但从Java 11开始,它的商业使用策略发生了变化,需要付费许可。它的优势在于:

  1. 性能调优工具: Oracle JDK在一些特定的性能监控和调优工具上可能略有优势,比如Flight Recorder和Mission Control,但这些工具现在也有了OpenJDK的替代品或开源版本。
  2. “历史遗留”: 有些非常老旧的Java应用,可能在Oracle JDK上表现更稳定,但这种情况越来越少见。

我个人的观点是,在CentOS上,如果不是有明确的、不可替代的理由,强烈建议优先选择OpenJDK。 它的安装和管理流程更符合Linux系统的哲学,能让你省去很多不必要的麻烦,把精力放在真正的开发工作上。除非你的项目明确要求Oracle JDK的某个独有特性(这现在已经很少了),或者你已经购买了Oracle的商业支持,否则选择OpenJDK无疑是更明智、更经济的选择。

如何正确配置CentOS中的Java环境变量,避免常见问题?

配置Java环境变量,特别是

JAVA_HOME
登录后复制
PATH
登录后复制
,是安装JDK后至关重要的一步,也是新手最容易出错的地方。正确的配置能确保你的系统能找到
java
登录后复制
javac
登录后复制
等命令,并且各种Java应用程序也能正确识别JDK的安装路径。

核心要点就是:

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

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

帮衣帮-AI服装设计 106
查看详情 帮衣帮-AI服装设计
  1. JAVA_HOME
    登录后复制
    :指定JDK的根目录。 这个变量告诉系统JDK安装在哪里。比如,如果你通过
    yum
    登录后复制
    安装了OpenJDK 8,它的路径可能是
    /usr/lib/jvm/java-1.8.0-openjdk
    登录后复制
    。如果你手动安装了Oracle JDK,路径可能是
    /opt/java/jdk1.8.0_XXX
    登录后复制
    常见错误:

    • 路径不正确: 比如指向了JRE目录而不是JDK目录,或者路径中多了一个
      /bin
      登录后复制
      JAVA_HOME
      登录后复制
      应该指向JDK的根目录,而不是
      bin
      登录后复制
      子目录。
    • 版本不匹配: 系统里装了多个JDK,但
      JAVA_HOME
      登录后复制
      指向了你不想用的那个。
    • 忘记
      export
      登录后复制
      只是定义了变量,但没有
      export
      登录后复制
      ,导致变量只在当前shell会话中有效,子进程无法继承。
  2. PATH
    登录后复制
    :将JDK的
    bin
    登录后复制
    目录添加到系统命令搜索路径。
    这个变量告诉shell去哪里寻找可执行文件。通过将
    $JAVA_HOME/bin
    登录后复制
    添加到
    PATH
    登录后复制
    ,你就可以直接在任何地方运行
    java
    登录后复制
    javac
    登录后复制
    等命令,而不需要输入完整的路径。 常见错误:

    • 顺序问题: 最好将
      $JAVA_HOME/bin
      登录后复制
      放在
      $PATH
      登录后复制
      的前面(
      export PATH=$JAVA_HOME/bin:$PATH
      登录后复制
      ),这样可以确保系统优先使用你指定的JDK版本,而不是可能存在的旧版本或系统自带的JRE。
    • 重复添加: 多次添加
      $JAVA_HOME/bin
      登录后复制
      PATH
      登录后复制
      虽然不影响功能,但显得不够整洁。
  3. CLASSPATH
    登录后复制
    :指定Java类库的搜索路径。 这个变量告诉JVM在哪里寻找
    .class
    登录后复制
    文件或
    .jar
    登录后复制
    包。通常,它包含当前目录(
    .
    登录后复制
    )以及JDK自带的一些核心工具库(如
    dt.jar
    登录后复制
    tools.jar
    登录后复制
    )。 常见错误:

    • 过度依赖: 现代Java开发工具(如Maven、Gradle)通常会自动管理项目的
      CLASSPATH
      登录后复制
      ,所以很多时候你不需要手动设置这个系统级的
      CLASSPATH
      登录后复制
      。如果设置不当,反而可能导致类加载冲突。
    • 路径不完整: 缺少
      .
      登录后复制
      或者重要的
      jar
      登录后复制
      包路径。

配置文件的选择:

  • /etc/profile
    登录后复制
    全局配置文件,对所有用户生效。每次系统启动或用户登录时执行。适合配置系统级的环境变量。
  • ~/.bashrc
    登录后复制
    ~/.bash_profile
    登录后复制
    用户级别的配置文件,只对当前用户生效。
    ~/.bashrc
    登录后复制
    通常在每次打开新的终端时执行,而
    ~/.bash_profile
    登录后复制
    在用户登录时执行。

我个人的建议是,如果你是服务器管理员,并且希望所有用户都能使用同一个JDK版本,那么修改

/etc/profile
登录后复制
是最合适的。 修改后,记得运行
source /etc/profile
登录后复制
来立即应用更改,或者直接重启服务器。在配置时,务必仔细检查路径,多用
echo $JAVA_HOME
登录后复制
echo $PATH
登录后复制
来验证。我记得有一次,就是因为
JAVA_HOME
登录后复制
的路径多了一个斜杠,排查了半天,最后才发现是这种低级错误,所以细心点总没错。

CentOS安装多个Java版本时,如何进行版本切换和管理?

在CentOS上,尤其是开发或测试环境中,我们经常会遇到需要同时安装并管理多个Java版本的情况。比如,有的项目还在用Java 8,而新项目已经切换到Java 11或17了。CentOS提供了一个非常方便的工具来处理这种情况,那就是

alternatives
登录后复制
命令。

alternatives
登录后复制
系统是Linux发行版用来管理系统中不同程序版本或实现的一种机制。它通过创建符号链接来指向你选择的特定版本。

  1. 注册新的Java版本 当你手动安装了一个新的JDK(比如Oracle JDK),或者通过

    yum
    登录后复制
    安装了不同版本的OpenJDK,你需要将它们注册到
    alternatives
    登录后复制
    系统中。 例如,你手动安装了一个Oracle JDK 1.8.0_XXX到
    /opt/java/jdk1.8.0_XXX
    登录后复制
    sudo alternatives --install /usr/bin/java java /opt/java/jdk1.8.0_XXX/bin/java 1
    登录后复制
    sudo alternatives --install /usr/bin/javac javac /opt/java/jdk1.8.0_XXX/bin/javac 1
    登录后复制
    这里的参数解释一下:

    • --install
      登录后复制
      :表示安装一个新的替代项。
    • /usr/bin/java
      登录后复制
      :这是公共的符号链接路径,系统会通过这个路径来找到
      java
      登录后复制
      命令。
    • java
      登录后复制
      :这是一个名称,用来标识这个替代项组。
    • /opt/java/jdk1.8.0_XXX/bin/java
      登录后复制
      :这是实际的
      java
      登录后复制
      可执行文件的路径。
    • 1
      登录后复制
      :这是优先级,数字越大优先级越高。

    如果你通过

    yum
    登录后复制
    安装了多个OpenJDK版本,它们通常会自动注册到
    alternatives
    登录后复制
    中。

  2. 查看和切换Java版本 要查看当前系统中注册的所有Java版本,并进行切换,可以使用

    alternatives --config
    登录后复制
    命令。
    sudo alternatives --config java
    登录后复制
    sudo alternatives --config javac
    登录后复制

    执行这些命令后,你会看到一个列表,显示所有已注册的Java可执行文件及其对应的编号。例如:

    There are 2 programs which provide 'java'.
    
      Selection    Command
    -----------------------------------------------
       1           /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-3.el7_9.x86_64/jre/bin/java
     * 2           /usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el7_9.x86_64/bin/java
    
    Enter to keep the current selection[+], or type selection number:
    登录后复制

    星号

    *
    登录后复制
    表示当前正在使用的版本。你可以输入对应的数字来切换到你想要的版本,然后按回车。

  3. 管理

    JAVA_HOME
    登录后复制
    虽然
    alternatives
    登录后复制
    可以管理
    java
    登录后复制
    javac
    登录后复制
    命令的符号链接,但它通常不会自动设置
    JAVA_HOME
    登录后复制
    环境变量。
    JAVA_HOME
    登录后复制
    仍然需要手动配置。 如果你经常需要在不同项目之间切换JDK,我通常会建议你:

    • /etc/profile
      登录后复制
      中设置一个默认的
      JAVA_HOME
      登录后复制
      ,指向你最常用的那个JDK。
    • 在每个项目的启动脚本或用户级别的
      .bashrc
      登录后复制
      中覆盖
      JAVA_HOME
      登录后复制
      ,指向该项目所需的特定JDK版本。 例如,在你的项目启动脚本中,可以这样设置:
      export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
      登录后复制
      export PATH=$JAVA_HOME/bin:$PATH
      登录后复制
      这样,即使系统默认是Java 11,你的项目也能正确使用Java 8。

    通过这种方式,

    alternatives
    登录后复制
    负责系统级的命令链接,而
    JAVA_HOME
    登录后复制
    则通过环境变量在全局或项目级别进行精确控制,两者结合,就能非常灵活地管理CentOS上的多个Java版本了。这套组合拳,我用下来感觉是最稳妥的。

以上就是怎么在CentOS安装JDK_CentOS安装Java开发环境步骤教程的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号