在 Mac 上通过 SDKMAN 安装带 JavaFX 的 Zulu Java 教程
从你的查询看,你想要一个完整的安装教程,用于通过 SDKMAN 在 Mac 上安装带 JavaFX 的 Zulu Java 版本(推荐最新 LTS 版本,如 25.0.1.fx-zulu 或类似,根据 2025 年 11 月数据)。以下是详细的步步指导,基于官方文档和最新更新。这个教程假设你从零开始,包括 SDKMAN 的安装(如果你已经安装了 SDKMAN,可以跳过第一部分)。整个过程在 Terminal 中完成,适用于 macOS(包括 Intel 和 Apple Silicon,如 M1/M2)。
第一部分:安装 SDKMAN(如果未安装)
SDKMAN 是一个工具,用于管理多个 Java 版本。它支持轻松安装和切换 Zulu JDK(带 JavaFX 的版本以 .fx-zulu 标识)。
- 打开 Terminal(通过 Spotlight 搜索 “Terminal”)。
- 运行以下命令下载并安装 SDKMAN:
curl -s "https://get.sdkman.io" | bash- 这会下载安装脚本并执行。跟随屏幕提示完成(通常只需按 Enter)。
- 安装后,关闭当前 Terminal,打开一个新 Terminal(或在当前窗口运行以下命令初始化):
source "$HOME/.sdkman/bin/sdkman-init.sh" - 验证 SDKMAN 是否安装成功:
sdk version- 预期输出类似:
SDKMAN! 5.19.0(版本号可能更新)。
- 预期输出类似:
如果遇到问题,如权限错误,确保你的 shell 是 bash 或 zsh(运行 echo $SHELL 检查),并检查 curl 是否可用。
第二部分:使用 SDKMAN 安装带 JavaFX 的 Zulu Java
Zulu 是 Azul 提供的 OpenJDK 构建,支持 JavaFX(用于图形应用)。我们安装最新版本,如 25.0.1.fx-zulu(2025 年 11 月的最新 LTS;如果不可用,检查最新 .fx-zulu 版本)。
- 列出所有可用 Java 版本(包括 Zulu FX 版本):
sdk list java- 查找带 .fx-zulu 的版本,如 25.0.1.fx-zulu(输出会根据你的 Mac 架构自动过滤,例如 ARM 64bit for M1/M2)。
- 如果没有 25.0.1.fx-zulu,选最新的类似版本,如 25.0.3.fx-zulu 或 21.0.5.fx-zulu(版本会随季度更新)。
- 安装指定版本:
sdk install java 25.0.1.fx-zulu- 这会下载、解压并安装。过程可能需要几分钟,取决于网络。
- 如果提示是否设为默认,输入 Y(yes)。
- 切换到这个版本(如果未设为默认):
- 当前会话切换:
sdk use java 25.0.1.fx-zulu - 永久设为默认(所有新 Terminal 生效):
sdk default java 25.0.1.fx-zulu
- 当前会话切换:
- 验证安装:
java -version- 预期输出类似:
openjdk version "25.0.1" 2025-10-15 LTS OpenJDK Runtime Environment Zulu25.30+11-CA (build 25.0.1+9-LTS) OpenJDK 64-Bit Server VM Zulu25.30+11-CA (build 25.0.1+9-LTS, mixed mode, sharing) - 注意 Zulu 和 LTS,表示成功。JavaFX 已内置,无需额外下载。
- 预期输出类似:
第三部分:测试 JavaFX 是否可用
安装后,测试一个简单图形程序确认 JavaFX 工作。
- 在当前目录创建测试文件 HelloFX.java:
nano HelloFX.java- 粘贴以下代码(按 Ctrl+O 保存,Enter 确认,Ctrl+X 退出):
import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class HelloFX extends Application { @Override public void start(Stage stage) { Label label = new Label("Hello, JavaFX! 测试成功!"); StackPane root = new StackPane(label); Scene scene = new Scene(root, 400, 300); stage.setTitle("JavaFX 测试"); stage.setScene(scene); stage.show(); } public static void main(String[] args) { launch(args); } }
- 粘贴以下代码(按 Ctrl+O 保存,Enter 确认,Ctrl+X 退出):
- 编译程序:
javac HelloFX.java- 如果报错,添加模块参数:
javac --add-modules javafx.controls,javafx.graphics HelloFX.java
- 如果报错,添加模块参数:
- 运行程序:
java HelloFX- 如果报错,添加模块参数:
java --add-modules javafx.controls,javafx.graphics HelloFX - 成功时,会弹出一个窗口显示 “Hello, JavaFX! 测试成功!”。关闭窗口即可。
- 如果报错,添加模块参数:
- 清理(可选):
rm HelloFX.java HelloFX.class
注意事项
- 架构兼容:如果你的 Mac 是 Apple Silicon (M1/M2 等),SDKMAN 会自动下载 ARM 版本。如果报图形初始化错误,确认
java -version显示 64-Bit,并重试。 - 替代版本:如果 25.0.1.fx-zulu 不可用,用
sdk list java | grep fx-zulu查找最新,如 25.0.3.fx-zulu。 - 卸载/切换:用
sdk uninstall java 25.0.1.fx-zulu卸载,或sdk use java <other-version>切换回旧版。 - 常见问题:如果命令 not found,确保 SDKMAN 初始化(运行 source 命令)。网络问题可能导致下载失败,重试或检查代理。
- 如果在 IDE(如 Eclipse)中使用,配置项目使用这个 JDK 路径:
/Users/<你的用户名>/.sdkman/candidates/java/25.0.1.fx-zulu。
如果安装过程中遇到具体错误,贴出 Terminal 输出,我帮你调试!