【发布时间】:2019-06-11 10:50:27
【问题描述】:
我正在为一些现有代码创建一个新的 gradle 构建。我正在查看前两个项目 - 通用和数据库。数据库依赖于common。
两者都有一个共享的 jar 文件列表,该列表被正确添加为来自共享根 build.gradle 的依赖项。通用代码编译正确,没有问题。
我遇到的问题是从数据库添加对 common 的依赖项导致 gradle 尝试将 common.jar 文件添加到自身,填满硬盘驱动器直到最终崩溃。
我尝试在数据库文件夹的 build.gradle 中设置依赖关系,并使用 project(":database") 将其添加到根 build.gradle 中,两者都有同样的问题。
我无法更改“src”文件夹,因为这些是现有项目,并且使用它们的应用程序了解给定的结构: 常见的 普通\src 普通\src\普通 common\src\common\MyFile.java 数据库 数据库\src 数据库\src\数据库 数据库\src\database\MyDatabase.java 数据库\src\database\example\DatabaseExample.java 等等
subprojects {
apply plugin: "java"
sourceSets {
main {
java.srcDirs = files("src")
java.outputDir = file("build")
}
}
dependencies {
implementation files(
fileTree("${binDir}") { include("java*.jar") },
"${binDir}/blah/blah_core.jar",
<etc - none of them are common.jar>
)
}
}
project(":database") {
dependencies {
implementation project(":common")
}
}
12:39:38.649 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter] 失败:构建失败并出现异常。 12:39:38.650 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter] 12:39:38.651 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter] *出了什么问题: 12:39:38.651 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter]任务':common:jar'执行失败。 12:39:38.651 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter] > 无法将文件 'C:\Code\Git\gradle\common\build\libs\common.jar' 添加到 ZIP 'C:\代码\Git\gradle\common\build\libs\common.jar'。
【问题讨论】: