JDK 与 Kotlin 环境搭建
Compose 编译器依赖 Kotlin 编译器,而 Kotlin 编译器运行在 JDK(Java Development Kit)之上。选择正确的 JDK 版本、正确配置环境变量并完成验证,是确保后续 cmd 命令、IDE 集成和编译顺畅的基石。本章将围绕版本选择、变量配置和验证命令三部分展开,并用一张流程串联整体操作。
JDK 版本选择原则
Kotlin 官方要求 JDK 版本 ≥ 8,但 Compose 多平台项目通常推荐使用 JDK 17 LTS 或 JDK 21 LTS。版本选择需权衡以下因素:
- Kotlin 版本兼容性:Kotlin 1.9+ 对 JDK 17 以上有更好的优化;Kotlin 2.0+ 推荐 JDK 21。
- Gradle 构建性能:JDK 17+ 启动更快,支持更高效的并行编译。
- 长期支持(LTS):优先选择 LTS 版本,避免频繁升级带来的兼容风险。
若项目同时包含 Java 模块,建议团队统一使用 JDK 17 LTS。Oracle 与 Adoptium(Eclipse Temurin)的免费构建均可使用,推荐 Adoptium 版本(.msi / .pkg / .tar.gz)。
环境变量配置
无论操作系统如何,核心操作都是将 JAVA_HOME 指向 JDK 安装目录,并将 $JAVA_HOME/bin 加入 PATH。以下给出三种主流系统的配置命令。
Windows(PowerShell 管理员)
# 设置 JAVA_HOME(示例路径,请按实际安装位置修改)
[System.Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Eclipse Adoptium\jdk-17.0.12+7", "Machine")
# 追加 bin 到 PATH
$oldPath = [System.Environment]::GetEnvironmentVariable("PATH", "Machine")
$newPath = "$oldPath;%JAVA_HOME%\bin"
[System.Environment]::SetEnvironmentVariable("PATH", $newPath, "Machine")
macOS / Linux(以 Bash 为例)
# 在 ~/.bashrc 或 ~/.zshrc 中添加
export JAVA_HOME=/opt/jdk-17.0.12+7
export PATH=$JAVA_HOME/bin:$PATH
# 生效
source ~/.bashrc
macOS 用户若通过 Homebrew 安装 JDK,可使用 /usr/libexec/java_home 动态获取路径:export JAVA_HOME=$(/usr/libexec/java_home)。请确保安装的 JDK 版本与上述选择一致。
验证步骤
配置完成后,在终端执行以下命令验证 JDK 和 Kotlin 编译器是否就位:
# 验证 JDK 版本
java -version
# 查看 JAVA_HOME 是否指向正确路径
echo %JAVA_HOME% # Windows
echo $JAVA_HOME # macOS/Linux
# 验证 Kotlin 编译器(安装 Kotlin 后)
kotlinc -version
预期输出示例:
openjdk version "17.0.12" 2024-07-16 LTS
OpenJDK Runtime Environment Temurin-17.0.12+7 (build 17.0.12+7)
OpenJDK 64-Bit Server VM Temurin-17.0.12+7 (build 17.0.12+7, mixed mode, sharing)
Kotlin version 2.0.21 (JRE 17.0.12+7)
若出现 command not found: java 或 kotlinc,请检查 JAVA_HOME 与 PATH 是否包含 bin 目录,并重启终端或执行 source 重新加载配置文件。
JDK 版本与 Kotlin 兼容性对照
| JDK 版本 | Kotlin 最低版本 | 推荐用途 | 注意事项 |
|---|---|---|---|
| 8 | 1.3 | 旧项目迁移 | 不支持 Compose 编译器 1.5+ |
| 11 | 1.5 | 通用后端服务 | 部分 Gradle 插件需升级 |
| 17 | 1.8 | Compose 多平台推荐 | Kotlin 2.0 以上性能最佳 |
| 21 | 2.0 | 最新旗舰项目 | 早期访问特性需添加 --enable-preview |
不要混装多个 JDK 版本后依赖系统默认;务必通过 JAVA_HOME 显示指定。混淆版本会导致 Gradle 构建异常,如 Unsupported class file major version 错误。
通过以上流程,你的开发环境即具备运行 Compose 编译器和 Gradle 构建工具的基本条件。后续项目中,Gradle Wrapper 将自动识别 JAVA_HOME 并使用正确的 JDK 版本。