Java 开发环境搭建完全指南

Java 开发环境搭建完全指南

Someone Lv5

Java 作为企业级应用开发的主力语言,二十多年来始终保持着旺盛的生命力。无论是构建后端微服务、大数据平台,还是 Android 应用,Java 都是绕不开的技术栈。本文将从零开始,手把手带你搭建一套完整的 Java 开发环境,涵盖 JDK 安装配置、构建工具选型、IDE 集成以及 Spring Boot 项目实战。

一、JDK 版本选择与安装

1.1 版本选择

Oracle 自 JDK 17 起将 LTS(长期支持)版本发布周期调整为每两年一次,目前主流的选择如下:

版本类型最新特性亮点推荐场景
JDK 21LTS(2023.09)虚拟线程、记录模式、模式匹配 switch新项目首选
JDK 17LTS(2021.09)密封类、预览特性丰富、性能大幅提升企业生产环境主流
JDK 11LTS(2018.09)HTTP Client、ZGC、模块化老旧项目迁移过渡
JDK 8LTS(2014.03)Lambda、Stream、Optional历史遗留项目

建议新项目直接选用 JDK 21,充分利用虚拟线程(Virtual Threads)带来的并发编程体验革命。

1.2 Ubuntu 22.04 安装 JDK 21

方式一:使用 SDKMAN(推荐)

SDKMAN 是 Java 生态中最便捷的多版本管理工具,类似 Node.js 的 nvm 或 Python 的 pyenv。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 安装 SDKMAN
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"

# 查看可用 JDK 版本
sdk list java

# 安装 JDK 21(Eclipse Temurin 是 Adoptium 社区构建的开源版本)
sdk install java 21.0.4-tem

# 设置默认版本
sdk default java 21.0.4-tem

# 验证
java -version
javac -version

方式二:使用 apt 安装(适合单版本需求)

1
2
3
4
5
6
# 安装 OpenJDK 21
sudo apt update
sudo apt install openjdk-21-jdk -y

# 验证
java -version

方式三:Oracle JDK 手动安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 下载 JDK 21 Linux x64 压缩包
wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz

# 解压到 /opt
sudo tar -xzf jdk-21_linux-x64_bin.tar.gz -C /opt/

# 配置环境变量
cat >> ~/.bashrc << 'EOF'
export JAVA_HOME=/opt/jdk-21.0.4
export PATH=$JAVA_HOME/bin:$PATH
EOF

source ~/.bashrc

# 验证
java -version

1.3 Windows 安装 JDK 21

1
2
3
4
5
6
7
8
9
10
11
12
# 方式一:使用 winget(Windows 包管理器)
winget install EclipseAdoptium.Temurin.21.JDK

# 方式二:手动安装
# 1. 访问 https://adoptium.net/ 下载 msi 安装包
# 2. 双击安装,选择安装路径(如 C:\Program Files\Eclipse Adoptium\jdk-21.0.4-hotspot)
# 3. 设置系统环境变量
# - 新建系统变量 JAVA_HOME = C:\Program Files\Eclipse Adoptium\jdk-21.0.4-hotspot
# - 在 Path 中添加 %JAVA_HOME%\bin

# 验证
java -version

二、构建工具配置

2.1 Maven

Maven 是 Java 生态中最流行的构建工具,采用约定优于配置的理念。

安装 Maven:

1
2
3
4
5
6
7
8
9
10
11
12
13
# Ubuntu
sudo apt install maven -y # 版本通常较旧,建议手动安装最新版

# 手动安装(推荐)
wget https://dlcdn.apache.org/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.tar.gz
sudo tar -xzf apache-maven-3.9.9-bin.tar.gz -C /opt/
cat >> ~/.bashrc << 'EOF'
export MAVEN_HOME=/opt/apache-maven-3.9.9
export PATH=$MAVEN_HOME/bin:$PATH
EOF
source ~/.bashrc

mvn --version

配置国内镜像加速:

编辑 ~/.m2/settings.xml(如果不存在则创建):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<mirror>
<id>aliyun-maven</id>
<mirrorOf>central</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>

<profiles>
<profile>
<id>jdk-21</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</profile>
</profiles>
</settings>

Maven 核心命令速查:

命令说明
mvn clean清理 target 目录
mvn compile编译源代码
mvn test运行测试
mvn package打包(jar/war)
mvn install安装到本地仓库
mvn deploy部署到远程仓库
mvn clean package -DskipTests跳过测试打包
mvn dependency:tree查看依赖树

2.2 Gradle

Gradle 使用 Groovy 或 Kotlin DSL 编写构建脚本,在灵活性和性能上优于 Maven。

安装 Gradle:

1
2
3
4
5
6
7
8
9
10
11
12
13
# 使用 SDKMAN(推荐)
sdk install gradle 8.10

# 手动安装
wget https://services.gradle.org/distributions/gradle-8.10-bin.zip
sudo unzip -d /opt/gradle gradle-8.10-bin.zip
cat >> ~/.bashrc << 'EOF'
export GRADLE_HOME=/opt/gradle/gradle-8.10
export PATH=$GRADLE_HOME/bin:$PATH
EOF
source ~/.bashrc

gradle --version

配置国内镜像(~/.gradle/init.gradle):

1
2
3
4
5
6
7
8
allprojects {
repositories {
maven {
url 'https://maven.aliyun.com/repository/public'
}
mavenCentral()
}
}

Maven vs Gradle 对比:

维度MavenGradle
构建脚本语言XML(pom.xml)Groovy / Kotlin DSL
构建速度较慢,增量构建能力弱快,支持增量编译和构建缓存
依赖管理可靠,生态成熟功能更丰富,支持动态版本
编译配置量XML 冗长DSL 简洁灵活
多项目构建模块化支持良好一等公民支持
学习曲线低(XML 简单)中(需要学 DSL)
适用场景企业标准项目Android、高性能构建需求

选择建议:传统企业项目选 Maven,追求构建速度和灵活性选 Gradle。如果刚开始学习 Java,推荐从 Maven 入手,社区资源和文档更丰富。

三、IDE 配置

3.1 IntelliJ IDEA(推荐)

IDEA 是目前 Java 开发最强大的 IDE,Community 版免费且功能已相当完善。

安装:

1
2
3
4
5
6
7
# Ubuntu(使用 snap)
sudo snap install intellij-idea-community --classic

# 或手动下载安装
wget https://download.jetbrains.com/idea/ideaIC-2024.2.3.tar.gz
sudo tar -xzf ideaIC-2024.2.3.tar.gz -C /opt/
/opt/idea-IC-242.23339.11/bin/idea.sh

关键配置:

  1. JDK 配置:File → Project Structure → SDK → 添加 JDK 21
  2. 编码设置:Settings → Editor → File Encodings → 全部设为 UTF-8
  3. 自动导入:Settings → Editor → General → Auto Import → 勾选”Add unambiguous imports on the fly”
  4. 代码模板:Settings → Editor → Live Templates → 可添加自定义缩写(如 psvm 生成 main 方法)
  5. 插件推荐
插件名称功能
Lombok减少样板代码(@Data、@Builder 等)
MyBatisXMyBatis 增强(跳转、生成)
CheckStyle-IDEA代码风格检查
SonarLint代码质量实时检测
Rainbow Brackets彩虹括号,提高可读性
GitToolBox增强 Git 状态显示

3.2 VS Code

如果只需轻量编辑或进行简单的 Java 开发,VS Code 配合扩展也能胜任。

1
2
# 安装 Java 扩展包
code --install-extension vscjava.vscode-java-pack

VS Code Java 扩展包包含:

  • Language Support for Java(TM) by Red Hat:核心语言支持
  • Debugger for Java:调试支持
  • Test Runner for Java:单元测试运行
  • Maven for Java:Maven 项目管理
  • Project Manager for Java:项目配置管理

配置 settings.json

1
2
3
4
5
6
7
8
9
10
11
{
"java.configuration.runtimes": [
{
"name": "JavaSE-21",
"path": "/opt/jdk-21.0.4",
"default": true
}
],
"java.compile.nullAnalysis.mode": "automatic",
"editor.suggest.snippetsPreventQuickSuggestions": false
}

四、Spring Boot 项目实战

环境搭建的最终目的是能跑起来一个实际项目。下面用 Maven 快速创建一个 Spring Boot 3 项目。

4.1 使用 Spring Initializr

方式一:Web 界面
访问 https://start.spring.io/,填写项目元数据,选择依赖后生成并下载。

方式二:命令行(推荐)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
curl https://start.spring.io/starter.zip \
-d type=maven-project \
-d language=java \
-d bootVersion=3.3.5 \
-d baseDir=demo \
-d groupId=com.example \
-d artifactId=demo \
-d name=demo \
-d packageName=com.example.demo \
-d javaVersion=21 \
-d dependencies=web,devtools,lombok,actuator \
-o demo.zip

unzip demo.zip -d demo
cd demo

4.2 项目结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
demo/
├── pom.xml # Maven 构建文件
├── src/
│ ├── main/
│ │ ├── java/com/example/demo/
│ │ │ ├── DemoApplication.java # 启动类
│ │ │ ├── controller/
│ │ │ │ └── HelloController.java
│ │ │ └── service/
│ │ │ └── HelloService.java
│ │ └── resources/
│ │ ├── application.yml # 配置文件
│ │ └── templates/
│ └── test/java/com/example/demo/
│ └── DemoApplicationTests.java

4.3 编写一个 REST API

HelloController.java:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package com.example.demo.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

@GetMapping("/hello")
public String hello(@RequestParam(defaultValue = "World") String name) {
return "Hello, " + name + "! Welcome to Java 21.";
}
}

application.yml:

1
2
3
4
5
6
7
8
9
10
11
12
13
server:
port: 8080

spring:
application:
name: demo

# 健康检查端点
management:
endpoints:
web:
exposure:
include: health,info

4.4 构建与运行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 编译
mvn clean compile

# 运行测试
mvn test

# 打包
mvn clean package -DskipTests

# 直接运行(开发阶段)
mvn spring-boot:run

# 运行打包后的 jar
java -jar target/demo-0.0.1-SNAPSHOT.jar

启动后访问 http://localhost:8080/hello?name=Java,即可看到响应。

五、Docker 容器化 Java 开发

越来越多的团队使用 Docker 统一开发环境,这里给出一个多阶段构建的 Dockerfile 示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 构建阶段
FROM eclipse-temurin:21-jdk-alpine AS builder
WORKDIR /app
COPY pom.xml .
COPY src ./src
RUN apk add --no-cache maven && mvn clean package -DskipTests

# 运行阶段
FROM eclipse-temurin:21-jre-alpine
WORKDIR /app
COPY --from=builder /app/target/*.jar app.jar
EXPOSE 8080

# 启动优化参数
ENTRYPOINT ["java", \
"-XX:+UseZGC", \
"-XX:MaxRAMPercentage=75.0", \
"-jar", "app.jar"]

使用 Docker Compose 一键启动:

1
2
3
4
5
6
7
8
9
10
11
# docker-compose.yml
version: '3.8'
services:
app:
build: .
ports:
- "8080:8080"
environment:
- SPRING_PROFILES_ACTIVE=dev
volumes:
- ./logs:/app/logs

六、常见问题排查

问题现象可能原因解决方案
java: command not foundJAVA_HOME 未设置或 Path 配置错误检查 echo $JAVA_HOME,确保 $JAVA_HOME/bin 在 PATH 中
javac: invalid flag: --releaseJDK 版本过低确认 java -version 输出为 JDK 21,检查编译源版本
Maven 下载依赖极慢未配置国内镜像在 settings.xml 中添加阿里云 mirror 配置
Port 8080 already in use端口被占用lsof -i :8080 查找进程,kill -9 PID 或更换端口
IDEA 无法识别 JDK未配置 Project SDKFile → Project Structure → 选择 JDK 21
编译报 ClassNotFoundExceptionMaven 依赖未下载或冲突mvn dependency:tree 分析依赖树
Lombok 注解不生效IDEA 未安装 Lombok 插件安装 Lombok 插件并启用 Annotation Processing

七、最佳实践总结

  1. 统一 JDK 版本:团队内统一使用相同 JDK 版本,建议 JDK 21 LTS,避免版本差异导致的问题
  2. 使用构建工具:永远不要将 IDE 生成的 .class 文件提交到 Git,用 mvn clean packagegradle build 替代
  3. 启用代码检查:配置 CheckStyle 或 SpotBugs 作为构建流程的 check 阶段,让问题早发现
  4. 环境即代码:使用 Docker + Docker Compose 统一开发环境,消除”在我机器上能跑”的问题
  5. 善用 .gitignore:至少忽略 target/, build/, *.iml, .idea/, .DS_Store
  6. 本地仓库备份:Maven 的 ~/.m2/repository 可定期备份,避免重装系统后重新下载
  7. 学习路线:先掌握 Maven 和 Spring Boot,再逐步深入学习 Gradle、多模块构建、自定义 Plugin 等高级话题

本文由AI辅助生成,内容仅供参考

  • 标题: Java 开发环境搭建完全指南
  • 作者: Someone
  • 创建于 : 2026-06-17 01:46:00
  • 更新于 : 2026-06-18 08:39:57
  • 链接: https://demo-blog.qusite.cn/2026-06-17-java-env-setup/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。