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

Gradle如何为Minecraft Fabric模组子项目引入其他子项目的代码与资源

airgame-api-client 模块 build.gradle 配置

直接在airgame-api-client的build.gradle文件中添加如下配置即可实现将airgame-api-common的代码、资源合并到当前模块编译产物中,且对外可见:

// 合并common模块的源码与资源到当前模块
sourceSets {
    main {
        java {
            srcDir project(':airgame-api-common').sourceSets.main.java.srcDirs
        }
        resources {
            srcDir project(':airgame-api-common').sourceSets.main.resources.srcDirs
        }
    }
    // 若需要单元测试也能访问common的代码,可添加下面的测试配置
    test {
        java {
            srcDir project(':airgame-api-common').sourceSets.test.java.srcDirs
        }
        resources {
            srcDir project(':airgame-api-common').sourceSets.test.resources.srcDirs
        }
    }
}

// 可选:如果之前声明过对common的api/modApi依赖可以删除,已经不需要依赖传递了
dependencies {
    // 删掉下面这类旧配置即可
    // api project(":airgame-api-common")
    // modApi project(":airgame-api-common")
}

配置说明

  • 该配置相当于直接把common模块的源码、资源路径挂载到当前模块的编译路径下,编译时会直接将两者的代码、资源一起打包进当前模块的jar产物,完全绕过fabric-loom对依赖传递的修改逻辑
  • 依赖当前模块的项目可以直接访问common模块的所有公开类、方法、资源,不需要额外添加对common的依赖
  • 该配置可直接复用给airgame-api-server、airgame-api-all模块,只需要按需调整需要合并的模块即可

内容的提问来源于stack exchange,提问作者叁只仓鼠

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:09:04