首页 > 解决方案 > 同时多个 Gradle 依赖版本

问题描述

StackOverflow 上有很多关于这个的线程,但我似乎找不到一个关于如何让它们同时工作的线程。

Spigot(封装了 CraftBukkit)是一个非常流行的 Minecraft 服务器框架,它增加了与混淆的 Minecraft 代码和独立开发人员代码的分离度。需要注意的一点是,并非 Minecraft 服务器上的所有功能都可以通过 API 实现。

我正在进行的一个项目要求我能够访问一些特定于版本的包,这些包以org.bukkit.craftbukkit.v1_14_R1.*. 因为我正在处理的项目必须跨多个版本工作,所以我需要我的一个编译工件兼容许多不同的版本。

如何让 Gradle 对此设置感到满意?到目前为止,我有以下基于链接:

configurations {
    implementation13_0
    implementation13_1
    implementation13_2
    implementation14_0
    implementation14_1
    implementation14_2
    implementation14_3
    implementation14_4
}

dependencies {
    implementation13_0 group: 'org.spigotmc', name: 'spigot', version: '1.13-R0.1-SNAPSHOT'
    implementation13_1 group: 'org.spigotmc', name: 'spigot', version: '1.13.1-R0.1-SNAPSHOT'
    implementation13_2 group: 'org.spigotmc', name: 'spigot', version: '1.13.2-R0.1-SNAPSHOT'
    implementation14_0 group: 'org.spigotmc', name: 'spigot', version: '1.14-R0.1-SNAPSHOT'
    implementation14_1 group: 'org.spigotmc', name: 'spigot', version: '1.14.1-R0.1-SNAPSHOT'
    implementation14_2 group: 'org.spigotmc', name: 'spigot', version: '1.14.2-R0.1-SNAPSHOT'
    implementation14_3 group: 'org.spigotmc', name: 'spigot', version: '1.14.3-R0.1-SNAPSHOT'
    implementation14_4 group: 'org.spigotmc', name: 'spigot', version: '1.14.4-R0.1-SNAPSHOT'
}

task libs(type: Sync) {
    from configurations.implementation13_0
    from configurations.implementation13_1
    from configurations.implementation13_2
    from configurations.implementation14_0
    from configurations.implementation14_1
    from configurations.implementation14_2
    from configurations.implementation14_3
    from configurations.implementation14_4
    into "$buildDir/libs"
}

但是,当我在运行上述任务后尝试构建我的项目时,它无法识别任何版本。有人对我如何使这项工作有任何建议吗?

标签: javagradlebukkit

解决方案


您需要使用 buildtools 构建 spigot 的版本,之后,您需要将 mavenLocal() 添加到您的存储库中。


推荐阅读