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

如何通过Gradle将MaterialFX依赖中的字体文件夹复制到项目资源目录

Gradle Kotlin脚本自动复制MaterialFX字体到资源目录

直接在你的build.gradle.kts里添加以下配置,就能自动把MaterialFX依赖包里的fonts文件夹复制到项目的src/main/resources目录下,不用手动复制:

// 注册自定义任务,负责提取并复制MaterialFX的字体文件
tasks.register<Copy>("copyMaterialFXFonts") {
    // 从运行时依赖中筛选MaterialFX的JAR包,解析为文件树
    from(configurations.runtimeClasspath.get().filter { it.name.contains("materialfx") }.map { zipTree(it) }) {
        // 只包含fonts文件夹下的所有内容
        include("fonts/**")
    }
    // 指定复制目标目录为项目的资源目录
    into("src/main/resources")
}

// 让资源处理任务依赖自定义任务,确保编译前完成字体复制
tasks.processResources.configure {
    dependsOn("copyMaterialFXFonts")
}

配置说明

  • configurations.runtimeClasspath.get():获取项目的运行时依赖集合,从中筛选出MaterialFX的JAR文件
  • zipTree(it):把JAR包转换成Gradle可处理的文件树,这样就能读取包内的fonts文件夹
  • include("fonts/**"):只复制JAR包里fonts文件夹下的所有文件和子目录,避免复制无关内容
  • 绑定processResources依赖:Gradle在处理项目资源(比如打包资源文件)之前,会先执行字体复制任务,保证资源目录里的字体文件在编译和打包时都能正常被访问

手动触发验证

如果想立刻测试效果,直接在终端执行:

# macOS/Linux
./gradlew copyMaterialFXFonts

# Windows
gradlew.bat copyMaterialFXFonts

执行完后检查src/main/resources目录,就能看到自动复制过来的fonts文件夹了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 05:20:23