2、Java 开发环境搭建与工具链入门

任务2:搭建Java集成开发环境IntelliJ IDEA 本实战通过安装配置JDK与搭建IntelliJ IDEA开发环境,引领开发者步入Java编程世界。从创建并运行简单的“Hello Java World~”程序开始,逐步构建Java项目结构,包括包管理和类设计。其中,“Welcome”类展示了基础的输出功能,而“HelloFriend”类则演示了命令行参数处理和循环逻辑的运用。整个过程清晰展现了从环境配置到代码实现、再到运行调试的完整开发流程,帮助初学者快速上手Java编程,并体验到IDEA的强大辅助作用。 阅读详情

本文档详细说明如何在 Windows、Linux(基于 apt / dnf)和 macOS 三大主流操作系统上搭建 Java 开发环境,包括 JDK 安装、环境变量配置、命令行基础使用,以及如何通过 SDKMAN! 实现多版本 JDK 的统一管理。


一、核心概念说明

  • JDK(Java Development Kit):Java 开发工具包,包含编译器(javac)、运行时(JRE)、调试工具等,是开发 Java 程序的必备组件。
  • JRE(Java Runtime Environment):仅用于运行 Java 程序,不含开发工具。开发必须安装 JDK。
  • OpenJDK vs Oracle JDK:OpenJDK 是 Java SE 的开源参考实现,Oracle JDK 基于 OpenJDK 构建。自 Java 11 起,两者功能基本一致。推荐使用 OpenJDK(免费、开源、社区活跃)。
  • LTS(Long-Term Support)版本:如 Java 8、11、17、21,获得长期安全更新,适合生产环境。

二、各操作系统 JDK 安装方式

2.1 Windows 系统

方法一:通过官方安装包(推荐初学者)
  1. 下载 JDK

  2. 安装

    • 双击 .msi 文件,按向导完成安装(默认路径如 C:\Program Files\Eclipse Adoptium\jdk-17.x.x-hotspot)
  3. 配置环境变量

    • 按 Win + R 输入 sysdm.cpl → “高级” → “环境变量”
    • 在 系统变量 中:
      • 新建 JAVA_HOME,值为 JDK 安装路径(如 C:\Program Files\Eclipse Adoptium\jdk-17.0.12.7-hotspot)
      • 编辑 Path,添加 %JAVA_HOME%\bin
  4. 验证

    java -version
    javac -version
    
方法二:使用 ZIP 包(便携式)
  • 下载 .zip 版本,解压到任意目录(如 C:\tools\jdk-17)
  • 手动配置 JAVA_HOME 和 Path(同上)

2.2 Linux 系统

以下以 Ubuntu/Debian(apt) 和 Fedora/RHEL/CentOS(dnf) 为例

2.2.1 Ubuntu / Debian(使用 apt)
  1. 更新软件源

    sudo apt update
    
  2. 安装 OpenJDK(以 Java 17 为例)

    sudo apt install openjdk-17-jdk -y
    
  3. 验证安装路径

    ls /usr/lib/jvm/  # 通常为 /usr/lib/jvm/java-17-openjdk-amd64
    
  4. 配置 JAVA_HOME(可选但不推荐)

    # 获取默认 JDK 路径
    sudo update-alternatives --config java
    # 通常路径为 /usr/lib/jvm/java-17-openjdk-amd64
    
    # 将以下内容加入 ~/.bashrc 或 ~/.zshrc
    export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
    export PATH=$JAVA_HOME/bin:$PATH
    
  5. 生效并验证

    source ~/.bashrc
    java -version
    javac -version
    
2.2.2 Fedora / RHEL / CentOS(使用 dnf 或 yum)
  1. 安装 OpenJDK(以 Java 17 为例)

    # Fedora / RHEL 8+ / CentOS Stream
    sudo dnf install java-17-openjdk-devel -y
    
    # CentOS 7 / RHEL 7(使用 yum)
    sudo yum install java-17-openjdk-devel -y
    
  2. 生效并验证

    java -version
    javac -version
    

💡 提示:Linux 发行版通常通过 alternatives 系统管理多版本 JDK,可通过 sudo update-alternatives --config java 切换。


2.3 macOS 系统

方法一:使用 Homebrew(推荐)
  1. 安装 Homebrew(若未安装)

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  2. 安装 OpenJDK

    # 查看可用版本
    brew search openjdk
    
    # 安装 Java 17(LTS)
    brew install openjdk@17
    
  3. 验证

    java -version
    javac -version
    

三、使用 SDKMAN! 实现多版本 JDK 管理(强烈推荐!!!)

SDKMAN!(Software Development Kit Manager) 是一个用于管理 Java、Kotlin、Maven、Gradle 等 SDK 多版本的命令行工具,支持 Linux 和 macOS(Windows 需通过 WSL 使用)。

3.1 安装 SDKMAN!

Linux / macOS
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"

✅ 验证安装:

sdk version
Windows(通过 WSL)
  1. 启用 WSL(推荐 Ubuntu)
  2. 在 WSL 终端中执行上述 Linux 安装命令

⚠️ 原生 Windows 不支持 SDKMAN!,建议使用 WSL 或手动管理多版本。


3.2 使用 SDKMAN! 管理 JDK

列出可用 JDK 发行版
sdk list java

输出示例:

Available Java Versions
================================================================================
 Vendor        | Use | Version      | Dist    | Status     | Identifier
--------------------------------------------------------------------------------
 Temurin       |     | 21.0.2       | adpt    |            | 21.0.2-tem
 Temurin       |     | 17.0.10      | adpt    |            | 17.0.10-tem
 Amazon        |     | 17.0.10      | amzn    |            | 17.0.10-amzn
 GraalVM       |     | 21.0.2       | grl     |            | 21.0.2-grl
 ...
安装指定版本 JDK(以 Temurin 17 为例)
sdk install java 17.0.10-tem
设置默认版本(全局)
sdk default java 17.0.10-tem
临时切换版本(当前 shell 会话)
sdk use java 21.0.2-tem
查看当前使用版本
sdk current java
java -version
卸载版本
sdk uninstall java 11.0.20-tem

3.3 SDKMAN! 优势总结

特性说明
多版本共存可同时安装多个 JDK,自由切换
一键安装自动下载、解压、配置 PATH
支持多厂商Temurin、Amazon Corretto、GraalVM、Microsoft 等
跨平台Linux/macOS/WSL 统一体验
自动更新sdk upgrade 更新 SDKMAN! 本身,sdk install java 获取最新版本

四、开发工具(IDE)推荐

安装 JDK 后,建议搭配专业 IDE 提升开发效率:

IDE特点下载地址
IntelliJ IDEA功能最强,智能提示、调试、框架支持极佳jetbrains.com/idea
VS Code + Extension Pack for Java轻量级,适合初学者或轻量项目marketplace.visualstudio.com
Eclipse开源老牌 IDE,插件丰富eclipse.org

💡 IntelliJ IDEA Community Edition 免费且功能足够用于学习和中小型项目。


五、验证开发环境

创建一个简单 Java 程序测试环境是否正常:

// HelloWorld.java
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, Java World! 🌍");
    }
}

编译并运行:

javac HelloWorld.java
java HelloWorld

预期输出:

Hello, Java World! 🌍

六、常见问题排查

问题解决方案
java: command not found检查 PATH 是否包含 $JAVA_HOME/bin
JAVA_HOME not set确保 JAVA_HOME 指向 JDK 根目录(非 bin 子目录)
多版本冲突使用 SDKMAN! 或系统 alternatives 统一管理
macOS 提示“无法验证开发者”系统设置 → 隐私与安全性 → 允许运行

七、总结

  • Windows:推荐使用 .msi 安装包 + 手动配置环境变量。
  • Linux:通过 apt(Debian/Ubuntu)或 dnf(Fedora/RHEL)安装 OpenJDK。
  • macOS:推荐 Homebrew 安装,或使用 .pkg 包。
  • 多版本管理:强烈推荐 SDKMAN!(Linux/macOS/WSL),实现 JDK 版本的灵活切换与统一管理。

搭建好环境后,即可进入 Java 语法学习阶段。保持 JDK 版本为 LTS(如 17 或 21),可获得最佳兼容性与长期支持。

【Java入门】入门第一天-开发环境的搭建-为什么要搭建环境-搭建步骤 了解过Java的发展历史之后,相信大家对Java是什么有了一定的了解。那么现在我们就可以开始Java的入门第一步啦---下载软件,搭建环境。 阅读详情

相关推荐

【Java 入门】Java 初识、编译运行机制及开发环境搭建

Java 入门篇 —— Java 开发语言初识,编译运行原理介绍,Java 开发环境的搭建,附详细演示与软件下载地址。

商务合作 | 共同学习 | 携手共进 1万+

java编程工具_Java开发者必备的六款工具

每一位Java程序员都会有套工具来应对工作上的挑战。多年来,Java程序员使用软件来完成他们的工作。有很多工具对他们是有用的,不过对于初入行的人员来说,寻找合适的工具是困难的,并且是浪费时间的。而今天我们将列出六款Java程序员必备的工具。Notepad++是用于编辑xml、脚本以及记笔记的最佳工具。这个工具的最好部分在于,你在Notepad++上打开的任何一个文档,在关闭后都会有一个残留文档,它...

weixin_33479485的博客 807

MacOS下完整Java开发环境搭建指南

Eclipse提供了许多快捷键来提高开发效率,以下是一些常用的快捷键:Ctrl + N:创建新项目或类。:打开类型。:打开资源。Ctrl + F:快速查找。Ctrl + /:注释/取消注释当前行或选中的代码段。

weixin_32747681的博客 1193

java开发工具链_Iodine:一个优秀的Java语言工具链

摘要:本文介绍了一款非常优秀的Java语言编程工具链,它在语言扩展、IDE使用体验、工具链等方面有着非常多的特点。以下是译文。上周,我们宣布了 Elements 9.2 的发布,此版本增加了一个重要的新特性:Iodine,这是一个新的Java语言编译器前端。虽然Iodine最主要的关注点是让用户可以在其他平台上使用Java语言,但它也希望为JVM或者Android的开发者提供一个更优秀更舒适的开发...

weixin_33166692的博客 314

【银河麒麟服务器】银河麒麟V10 SP3高级服务器操作系统网卡配置完全指南:图形界面、Network、NetworkManager、IP 地址、路由与端口聚合详解

本文系统介绍了银河麒麟V10SP4服务器操作系统的网络配置方法,涵盖图形界面、NetworkManager、nmcli命令行等多种配置方式。重点讲解了IP地址设置、路由管理以及端口聚合(Bonding)的实现,包括传统配置文件、nmcli和nmtui三种Bonding配置方案。文章对比了NetworkManager与传统network服务的区别,并提供了常见网络问题的排查建议。通过多种配置方法的详细说明,帮助用户掌握银河麒麟服务器系统的网络管理技能,构建稳定可靠的网络环境。

YHLCCY的博客 5357

【Shader】Unity批量更换Shader

在Unity开发中,因为渲染管线问题,经常会遇到需要大量更改shader的问题,本篇文章讲述批量更换Shader的工具。

憨辰 1465

Java工具链(一)--项目管理工具

1.洪荒时代 大神们都在纸上写代码,打孔,代码都以段记, 好几卷厕纸才能表示一段小程序,没管理工具什么事

Knights的专栏 2435

OpenWRT系统启动流程全解析:从procd到ubus的完整链路(附源码分析)

本文深入解析了OpenWRT系统从内核移交控制权到用户空间服务就绪的完整启动链路。核心聚焦于进程管理器procd与通信总线ubus的协同工作机制,通过源码分析揭示了状态机转换、服务注册与事件分发的内在逻辑,为系统定制、启动优化与故障调试提供了清晰指南。

weixin_28335283的博客 531

Rust 语言入门基础教程:从环境搭建到 Cargo 工具链

Rust语言的入门操作

2301_80350265学无止尽5的博客 3563

PaddleOCR多进程GPU推理实战:200万图片高效处理方案

本文详细介绍了PaddleOCR多进程GPU推理在高效处理200万张图片OCR任务中的实战方案。通过优化GPU利用率、多进程并发和关键参数调优,实现了从单进程3000张/小时到8进程3万张/小时的性能飞跃,为大规模OCR处理提供了可靠解决方案。

prometheus9mon的博客 260

《SAP FICO系统配置从入门到精通共40篇》030、集成配置:FI与生产计划(PP)的自动科目确定

FI和PP的自动科目确定,本质上是把生产业务翻译成会计语言。翻译规则就藏在那些配置表里。配的时候多想一步:这个业务动作,在财务眼里是什么?是材料消耗?是产出入库?还是工费分摊?想清楚这个,再看配置界面,那些代码就不是天书了。最好的测试方式,是月底关账前,让生产部门跑一遍所有类型的生产订单。配置对不对,业务最知道。

985大学毕业,前某大厂员工,啥都会点的程序员! 573

openEuler 开发环境搭建与工具链优化实践深度评测

openEuler作为面向数字基础设施的开源操作系统,在开发环境构建方面具有显著优势。本文基于华为云服务器环境,详细介绍了openEuler 20.03开发环境的搭建过程。系统分析了openEuler完善的软件包管理、优化的编译工具链、容器化开发支持和多语言环境等特性。通过实际操作演示了基础开发工具安装、VS Code编辑器配置以及Python等语言环境的搭建流程。实践表明,openEuler为开发者提供了高效稳定的工作平台,能够满足现代软件开发需求,具有较高的实用价值。

倔强的石头的博客 9419

【Docker安装】OpenEuler系统下部署Docker环境

【Docker安装】OpenEuler系统下部署Docker环境

jks212454的博客 4188

Java入门篇之Java开发环境搭建

SDK: Softeare Development Kit,用于开发JavaEE,包括JDK。IDE: 集成开发环境,比如Eclipse、MyEclipse、IntelliJ IDEA等。JDK: Java Development Kit,Java开发工具包,是整个Java的核心,包括Java工具、JRE(Java运行时环境)、Java基础类库。JRE: Java Runtime Environment, Java运行时环境,包括JVM和Java核心类库。JVM。

ILoveYou_Xuxu的博客 2620

Magisk如何针对性隐藏Root避免被检测

Magisk隐藏特征码有两种途径,一种是通过插件,一种是定制源码。插件的方式相对简单,但是使用范围也有限,好处是成本低好上手。定制源码难度大,成本高,好处是稳定,后续也好更新维护。

zhonglunshun的专栏 1万+

路径跟踪 | 图解纯追踪算法Pure Pursuit(附ROS C++/Python/Matlab仿真)

纯追踪算法(Pure Pursuit)参考了人类驾驶行为,其基本思想是在待跟踪路径上设置预瞄点(goal-ahead),通过简单的几何方法驱动机器人跟踪预瞄点直至抵达目标位置.本文详细推导纯追踪算法的理论原理及其变种——自适应纯追踪算法(APP)和规范化纯追踪算法(RPP),并提供ROS C++/Python/Matlab三种仿真实现加深理解

FRIGIDWINTER的博客 8405

Rust 开发环境搭建与工具链完全指南

本文是一篇面向Rust初学者的开发环境搭建指南。主要内容包括:安装Rust工具链管理器Rustup和使用构建工具Cargo的基本方法,涵盖项目创建、依赖管理、常用命令等核心功能。文章详细介绍了IDE配置推荐和最佳实践,并提供了文件统计工具实战案例,最后给出官方文档、社区资源和推荐书籍等学习渠道。全文旨在帮助读者快速搭建完整的Rust开发环境,掌握工具链基本使用方法。

七夜zippoe的博客 1463

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Java入门与开发环境搭建

Java入门及环境搭建

m0_63692093的博客 1148

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Java开发环境搭建(详细)

JDK其实就是。

ntr851217的博客 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Java Web开发基础——Java Web概述与开发环境搭建

Java Web开发的核心在于HTTP协议的理解、Servlet和JSP的应用、Web框架的使用等,旨在为用户提供互动式、动态响应的网页内容。在Java Web的世界里,Java语言的跨平台特性、丰富的框架、优秀的企业级支持使其成为构建大规模Web应用的理想选择。本人开发期间收集了很多开发课程等资料,需要可联系我。Java Web的应用场景非常广泛,涵盖了从简单的网站到复杂的大型企业级应用的各种需求。Java Web开发的环境搭建是学习Java Web的第一步,以下是搭建Java Web开发环境的步骤。

好看资源网的博客 4724

【Java入门】从Java的基础知识到开发环境的搭建

此文为本人大学以来的第一篇文章,有些地方难免会有错误,如果看到错误的地方或有不理解的地方,请大胆提出问题与指出错误,使其更加严谨。Java是1990年代初由sun公司的詹姆斯·高斯林等人开发出雏形,最初被命名为Oak,后来因为商标被注册的原因改名为Java,在1995年5月正式发布。它是一门面向对象编程语言,其不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。

淡墨的博客 1924

Java 基础入门与开发环境搭建

本文介绍了Java语言的基础知识和开发环境搭建。主要内容包括: Java发展历史,Java三大平台,Java核心特点,JDK与JRE关系,开发环境搭建等

2501_93417686的博客 1325

【Java环境搭建与入门全攻略】

https://i-blog.csdnimg.cn/direct/b64494b581e94526b7b6d13122b24399.jpeg

2402_83809625的博客 1896

如何搭建Java开发环境

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...

qq_45702641的博客 1426

在Windows上搭建OpenVINO™ Java开发环境

本文将从零开始详细介绍环境搭建的完整步骤,环境搭建完毕后,再使用Java语言来对OpenVINO™ Java API 环境进行简单测试,并验证其可行性。

英特尔开发人员专区 2449

Java开发环境的搭建

JRE(Java Runtime Environment)是 Java 运行时环境,它包含了运行 Java 程序所需的所有组件,包括 Java 类库(JAR 文件)、Java 虚拟机(JVM)和其他支持文件。因此,JDK 包含 JRE 和开发工具,JRE 包含 JVM 和 Java 类库,而 JVM 是 JRE 的一部分,专门用于在计算机中运行 Java 程序。bin目录:包含 Java 开发和运行所需的二进制文件,例如javac.exe、java.exe、javap.exe等。

over_salted_fish的博客 4480
上一篇: 1、Java 语言概述:起源、特点、应用场景与生态体系
下一篇: 3、Java 基础语法详解
龙茶清欢
博客等级 码龄7年 3720粉丝 375原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙茶清欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值