gpt4 book ai didi

gradle - 包括具有相同插件依赖项的第 3 方子项目

转载 作者:行者123 更新时间:2023-12-03 02:58:13 25 4
gpt4 key购买 nike

我正在尝试将 Git 子模块作为子项目包含到我的主要 Gradle 项目中,但 Gradle 拒绝验证构建脚本,理由是我的项目和子项目都需要相同的插件 ("Plugin request for plugin already on the classpath must not include a version")。

从主项目中删除插件不是一种选择,因为插件定义的任务将不再可用于主构建脚本。也不会从主构建脚本中省略插件版本,因为这是 Gradle 看到的插件声明的第一个实例(而在子项目的声明中抛出错误)。

通常我会让我的项目修补这样的不兼容性,但由于构建脚本没有验证,这显然不是一个选项。鉴于我实际上无法控制子项目的构建脚本,可以做些什么来解决冲突?

最佳答案

我有一个类似的问题,我想包含一个也应该能够自行构建的模块。更准确地说,我想要包含的模块也声明了 com.github.johnrengelman.shadow用于生成可运行的 JAR。这导致了两个 build.gradle 使用版本号声明此插件的文件。

解决方案是使用 Composite Build .这导致模块的构建完全独立,能够声明任何版本的插件。

您所要做的就是添加includeBuild "<pathToSubmodule>"在你的根目录 settings.gradle :

includeBuild "../submodule"

然后,您可以在顶层 中将子模块定义为普通依赖项。 build.gradle :
dependencies {
implementation 'com.mycompany:submodule:1.0-SNAPSHOT'
}

关于gradle - 包括具有相同插件依赖项的第 3 方子项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57815595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com