Java 21项目构建需确保JDK 21环境就位,并分别在Maven的pom.xml中配置maven.compiler.source与target为21,在Gradle的build.gradle中同步设置sourceCompatibility与targetCompatibility为VERSION_21,再通过mvn -v、gradle -v及编译命令验证工具链连通性。

Java 项目离不开构建工具,Maven 和 Gradle 是当前最主流的两个选择。它们不是“装上就能用”的简单软件,而是需要明确环境依赖、正确配置文件、匹配 JDK 版本的一整套开发链路。关键不在于选哪个,而在于配得准、跑得稳。
Java 环境是前提,必须先确认 JDK 21 已就位
Maven 和 Gradle 都依赖 JDK 运行,且 Java 21 的新特性(如虚拟线程、模式匹配增强)需构建工具显式支持。不能只装了 JDK 就以为万事大吉。
- 运行 java -version,输出中必须包含 21,且非 “1.21” 或 “21.x.x” 模糊写法
- 检查 JAVA_HOME 环境变量是否指向 JDK 21 安装目录(如 C:\Program Files\Java\jdk-21.0.3),而非 JRE 或旧版 JDK
- Windows 用户注意:Path 中应为 %JAVA_HOME%\bin,避免硬编码路径导致升级后失效
Maven 配置要点:XML 结构清晰,但版本声明不能漏
pom.xml 是 Maven 的核心,它不只管依赖,也决定编译行为。Java 21 支持不是默认开启的,必须手动指定。
- 在 <properties> 块中加入两行:
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target> - 推荐同时配置 maven-compiler-plugin 插件,显式锁定编译器行为,避免继承父 POM 的旧版本插件干扰
- 国内用户务必修改 conf/settings.xml,添加阿里云镜像,否则首次 mvn clean compile 可能卡在下载依赖环节
Gradle 配置要点:DSL 更灵活,但 Java 版本要双处对齐
Gradle 使用 build.gradle(Groovy)或 build.gradle.kts(Kotlin),语法更简洁,但 Java 版本需在两个地方同步设置,缺一不可。
立即学习“Java免费学习笔记(深入)”;
- 在 build.gradle 中添加:
java { sourceCompatibility = JavaVersion.VERSION_21 }
java { targetCompatibility = JavaVersion.VERSION_21 } - 若使用 Kotlin DSL(.kts),写法为:
java.sourceCompatibility = JavaVersion.VERSION_21
java.targetCompatibility = JavaVersion.VERSION_21 - Gradle Wrapper(gradlew)比全局 Gradle 更可靠,新建项目优先用 gradle init 生成,避免本地 Gradle 版本与项目要求不兼容
验证配置是否生效的三步法
配完不验证,等于没配。以下命令可快速确认工具链是否真正打通:
- 执行 mvn -v 或 gradle -v,输出中 Java version 必须是 21,且 Maven/Gradle 版本不低于推荐线(Maven ≥ 3.9.0,Gradle ≥ 8.5)
- 新建空项目后运行 mvn compile 或 gradle classes,成功生成 target/classes 或 build/classes 目录,且无 “source level 21 is not supported” 类报错
- 在 IDE(如 IntelliJ IDEA)中刷新项目,确保模块 SDK 显示为 “Project SDK: 21”,且构建工具识别出 pom.xml 或 build.gradle 文件


















