在 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 标识)。

  1. 打开 Terminal(通过 Spotlight 搜索 “Terminal”)。
  2. 运行以下命令下载并安装 SDKMAN:
    curl -s "https://get.sdkman.io" | bash
    
    • 这会下载安装脚本并执行。跟随屏幕提示完成(通常只需按 Enter)。
  3. 安装后,关闭当前 Terminal,打开一个新 Terminal(或在当前窗口运行以下命令初始化):
    source "$HOME/.sdkman/bin/sdkman-init.sh"
    
  4. 验证 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 版本)。

  1. 列出所有可用 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(版本会随季度更新)。
  2. 安装指定版本:
    sdk install java 25.0.1.fx-zulu
    
    • 这会下载、解压并安装。过程可能需要几分钟,取决于网络。
    • 如果提示是否设为默认,输入 Y(yes)。
  3. 切换到这个版本(如果未设为默认):
    • 当前会话切换:
      sdk use java 25.0.1.fx-zulu
      
    • 永久设为默认(所有新 Terminal 生效):
      sdk default java 25.0.1.fx-zulu
      
  4. 验证安装:
    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 工作。

  1. 在当前目录创建测试文件 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);
          }
      }
      
  2. 编译程序:
    javac HelloFX.java
    
    • 如果报错,添加模块参数:
      javac --add-modules javafx.controls,javafx.graphics HelloFX.java
      
  3. 运行程序:
    java HelloFX
    
    • 如果报错,添加模块参数:
      java --add-modules javafx.controls,javafx.graphics HelloFX
      
    • 成功时,会弹出一个窗口显示 “Hello, JavaFX! 测试成功!”。关闭窗口即可。
  4. 清理(可选):
    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 输出,我帮你调试!

写文章用