Gradle “条目 .classpath 是重复的,但没有设置重复的处理策略”

新手上路,请多包涵

我正在尝试构建一个 gradle 项目,但是当我尝试 $ gradle build 我得到以下输出:

 Starting a Gradle Daemon (subsequent builds will be faster)
> Task :jar FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':jar'.
> Entry .classpath is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/7.0/dsl/org.gradle.api.file.CopySpec.html#org.gradle.api.file.CopySpec:duplicatesStrategy for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 11s
4 actionable tasks: 2 executed, 2 up-to-date

完成后 Get-ChildItem -Path ./ -Filter .classpath -Recurse -Force 我得出结论,我的项目中甚至没有一个名为 .classpath 的文件。我该怎么办?

原文由 136 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.4k
1 个回答

类似于@korn 的回答,我使用 EXCLUDE 策略解决了我的问题;

 tasks.withType<Jar>() {

    duplicatesStrategy = DuplicatesStrategy.EXCLUDE

    manifest {
        attributes["Main-Class"] = "MainKt"
    }

    configurations["compileClasspath"].forEach { file: File ->
        from(zipTree(file.absoluteFile))
    }
}

原文由 João Carlos 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题