Java 开发环境配置 - 码剑客

配置 Java 开发环境:Temurin/OpenJDK 安装、SDKMAN 多版本切换、JAVA_HOME 设置、Maven/Gradle 换源、工程创建与常见报错排查。

JDK 17 / 21 LTS更新于 2026-10-29共 29 条

安装与版本管理

Windows 安装 Temurin 21 LTS(开源、免费商用),安装器会自动写入 JAVA_HOME

winget install EclipseAdoptium.Temurin.21.JDK

macOS 用 Homebrew、Ubuntu 用 Adoptium 源安装 JDK 21

# macOS
brew install --cask temurin@21
# Ubuntu / Debian
sudo apt update && sudo apt install -y temurin-21-jdk

macOS/Linux 用 SDKMAN 安装 JDK,后续可一条命令切换版本

curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java 21.0.4-tem

Windows 无官方 SDKMAN 支持,请改用 winget 或 WSL

查看可用版本、临时切换以及设置默认 JDK

sdk list java
sdk use java 17.0.12-tem
sdk default java 21.0.4-tem

安装 Maven 并确认其识别到的 JDK 版本

winget install Apache.Maven
mvn -v

安装 Gradle,输出中会同时显示 JVM 版本

winget install Gradle.Gradle
# macOS
brew install gradle
gradle -v

镜像源与代理

写入 ~/.m2/settings.xml 的 mirrors 节点,让 Maven 全量走阿里云仓库

<mirror>
  <id>aliyun</id>
  <mirrorOf>*</mirrorOf>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>

查看合并后的生效配置,确认镜像确实被加载

mvn help:effective-settings

在 build.gradle.kts 的 repositories 中替换为阿里云仓库

repositories {
  maven { url = uri("https://maven.aliyun.com/repository/public") }
}

公司自签证书导致 SSL 握手失败时临时跳过校验,仅用于内网

mvn -Dmaven.wagon.http.ssl.insecure=true clean package

让 Java 进程本身走代理,排查依赖下载与外部接口超时

java -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=7890 -jar app.jar

环境变量

Windows 设置 JAVA_HOME 并把 bin 目录加入 PATH

# Windows(永久生效,需重开终端)
setx JAVA_HOME "C:\Program Files\Eclipse Adoptium\jdk-21"
setx PATH "%JAVA_HOME%\bin;%PATH%"

修改 PATH 时不要覆盖原值,否则系统命令会失效

macOS 用 java_home 定位 JDK,再写入 shell 配置

# macOS / Linux
echo 'export JAVA_HOME=$(/usr/libexec/java_home -v 21)' >> ~/.zshrc
echo 'export PATH="$JAVA_HOME/bin:$PATH"' >> ~/.zshrc

确认真实生效的 JAVA_HOME,多版本冲突时优先看这里

echo %JAVA_HOME%
# macOS / Linux
echo $JAVA_HOME

Maven 的输出里同时包含 Java 版本与 JAVA_HOME,最简单的一致性检查

mvn -version

创建工程与验证

验证 JDK 与编译器版本一致,两个版本不一致说明 PATH 指向了另一个 JDK

java -version
javac -version

用 Maven 原型快速生成标准目录结构的工程

mvn archetype:generate -DgroupId=com.demo -DartifactId=demo -DinteractiveMode=false

打包并运行产物,验证构建链路是否可用

mvn clean package
java -jar target/demo-1.0-SNAPSHOT.jar

用 Gradle 初始化 Java 应用工程

gradle init --type java-application

打开 JDK 自带交互式环境,快速验证语法与 API 行为

jshell

编辑器与插件

VS Code 安装 Java 扩展包(调试、测试、依赖管理)与语言服务

code --install-extension vscjava.vscode-java-pack
code --install-extension redhat.java

Windows 安装免费的 IntelliJ IDEA 社区版;macOS 用 brew install --cask intellij-idea-ce

winget install JetBrains.IntelliJIDEA.Community

用 SDKMAN 统一管理 Maven 与 Gradle 版本,避免团队版本不一致

sdk install maven
sdk install gradle

常见问题排查

同时装了多个 JDK 时,确认命令行实际命中的是哪一个

where java
# macOS / Linux
which -a java

打印 JVM 实际加载的 java.home,定位 JAVA_HOME 指向错误的场景

java -XshowSettings:properties -version 2>&1 | findstr java.home

SNAPSHOT 依赖未更新时强制刷新远程仓库

mvn -U clean install

排查依赖冲突,定位同一个库的多份版本

mvn dependency:tree -Dincludes=org.slf4j
高危

本地仓库中的构件损坏时,删除对应目录后重新拉取

rm -rf ~/.m2/repository/com/demo

确认 JVM 默认堆大小,排查容器内存超限被杀的启动问题

java -XX:+PrintFlagsFinal -version | findstr MaxHeapSize

本网站使用 Cookie 以确保您在我们的网站上获得最佳体验。 隐私政策.