我正在尝试将一个6.x版本的多项目应用程序更新为gradle 7.3,因为它是支持Java 17的第一个版本。但是,我无法解决一个在我的任何build.gradle
文件中都没有声明的任务引起的问题。错误如下:([]件被编辑)
Execution failed for task ':[root module]:[module]:processIntTestResources'.
> Entry [filename] is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/7.3/dsl/org.gradle.api.tasks.Copy.html#org.gradle.api.tasks.Copy:duplicatesStrategy for details.
我认为它与用于集成测试的sourceSet相关联,但是,我从未为这些测试显式地复制和文件。我还将所有副本指令设置为有关重复处理的配置:
duplicatesStrategy = DuplicatesStrategy.INCLUDE
我还尝试将上面的内容添加到失败的项目中,因为该设置仅对复制类型的任务或块有效。我绝不是一个专业的gradle,可以补充任何相关的信息,但我相信我已经包括了什么可能是最相关的。我真的只是在寻找一个方向,我可以去进一步调试这个问题。
发布于 2021-12-14 22:25:37
您没有展示如何配置集成测试,但我遇到了类似的问题。救了我的是汤姆·格雷戈里的博客文章:在Gradle中运行集成测试
由于链接可以消失,让我复制和粘贴我发现的最重要的部分,这是关于新的(第7.3级) JVM测试套件插件,它增加了对集成测试的支持。对我来说,这取代了以前的集成测试配置:
testing {
suites {
integrationTest(JvmTestSuite) {
dependencies {
implementation project
}
}
}
}
tasks.named('check') {
dependsOn testing.suites.integrationTest
}
我还发现了以下有用的东西,这不是在上面的博客文章中,而是我以前的第6级配置的一个剩余物。对于我来说,这重复了“integrationTest”的“test”依赖项。这并不是现在建议的处理测试约束的方法(请参阅JVM测试套件插件文档),但我仍然发现让我快速运行是很有用的:
configurations {
integrationTestImplementation.extendsFrom testImplementation
integrationTestRuntime.extendsFrom testRuntime
}
https://stackoverflow.com/questions/70088313
复制相似问题