You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

解决Gradle报错:找不到JavaFX Jar文件(M1 Mac专属问题)

解决方案:M1 Mac上Gradle找不到JavaFX 11 mac-aarch64构件

问题根源

JavaFX 11发布时Apple M1芯片尚未推出,因此Maven中央仓库中没有提供对应mac-aarch64架构的JavaFX构件,这就是仅M1设备报错的核心原因。

推荐解决方案

方案1:强制使用x86_64架构的JavaFX包(依赖Rosetta转译)

M1芯片支持Rosetta 2转译x86_64程序,直接在Gradle配置中指定mac x86_64版本的JavaFX即可:
在项目的build.gradle(或根目录的build.gradle)中添加/修改配置:

// 若使用javafx插件
plugins {
    id 'org.openjfx.javafxplugin' version '0.0.13'
}

javafx {
    version = '11'
    modules = ['javafx.web']
    // 强制指定x86_64架构的mac包
    platform = 'mac'
}

// 或者直接在依赖中指定分类器
dependencies {
    implementation group: 'org.openjfx', name: 'javafx-web', version: '11', classifier: 'mac'
}

方案2:升级JavaFX到支持M1的版本

JavaFX 17及以上版本正式支持mac-aarch64架构,升级版本能从根本上解决架构适配问题:
修改Gradle中的JavaFX版本配置:

javafx {
    version = '17'
    modules = ['javafx.web']
}

注意:升级前需确认ZAP扩展代码兼容JavaFX 17,避免出现版本适配问题。

关于手动添加本地Jar的方向

你尝试手动添加Jar的方向是可行的,但操作需注意以下步骤:

  1. 将下载的JavaFX相关Jar包(需包含所有依赖模块,如javafx-base、javafx-controls等)放入项目的libs目录(无则新建);
  2. 在build.gradle中添加本地仓库:
repositories {
    flatDir {
        dirs 'libs'
    }
    mavenCentral()
}
  1. 声明本地依赖:
dependencies {
    implementation name: 'javafx-web-11-mac-aarch64' // 替换为你实际的Jar文件名(不带.jar后缀)
}

此方法需手动管理所有JavaFX依赖模块,维护成本较高,仅推荐在无法升级版本或使用转译的场景下使用。

内容的提问来源于stack exchange,提问作者Daan Seuntjens

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 13:35:13