java - 如何在多项目项目中拥有两个不同的 Gradle 版本?

标签 java gradle intellij-idea minecraft

我目前正在尝试确定使用 Forge 模组框架制作特定类型的 Minecraft 模组的可行性。这个框架的一个特点是它需要一个自定义的 Gradle 插件来构建 mod(出于各种版权相关的原因,考虑到 Minecraft 不是 FOSS),但是这个 Gradle 插件只适用于旧版本的 Gradle。此外,我希望能够在同一代码库中针对多个 Minecraft 版本(本质上,在共享 Java 库项目中保留尽可能多的通用代码),但这需要我有两个具有不同版本 ForgeGradle 的子项目( Forge 的 Gradle 插件),当然这些版本需要不同的 Gradle 版本。我也更喜欢将最新的 Gradle 用于该项目的非 Forge 部分,这当然与 ForgeGradle 不兼容。因此,我问,如何在多项目 Gradle 项目中为不同的子项目使用不同版本的 Gradle?如果这不可能,我如何以 IDE 友好和单一 git 存储库友好的方式(主要是 IntelliJ Idea Community Edition)自动连接这些项目?我打算将存储库的版本作为一个单元进行跟踪,因此需要将它们放在同一个 git 存储库中。

最佳答案

Gradle 不支持在同一个多项目构建中使用多个 Gradle 版本。这在复合构建中也不支持。

鉴于限制,最简单的解决方案是使用本地存储库,您将发布到该存储库并从中获取跨项目依赖项。

关于java - 如何在多项目项目中拥有两个不同的 Gradle 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59379822/

相关文章:

android - 如何使用IntelliJ-IDEA指定java/android平台?

java - arrayList 大小的差异

java - 在 Gradle 上构建 APK 时出现重复类错误

java - 通过 SetExpressCheckout 方法调用重定向到 Paypal 网站后,Paypal 不显示项目列表 [多个]

gradle - 如何通过独立插件将类文件添加到Gradle源集中?

java - Android Studio 数据绑定(bind)错误,无法解析符号

java - IntelliJ 在项目结构中显示额外的名称

java - Android Studio 中计算机之间的 JDK 配置差异

java - Java简单的边缘检测方法

java - 广度优先搜索的深度