开发者问题收集

无法获取 org.gradle.api.internal.artifacts.configurations 类型的配置容器的未知属性“运行时”

2020-02-21
36364

我有错误(对于org.gradle. api.internal.artifacts.configurations.defaultConfigurationContainer的配置容器,无法获得未知的属性'Runtime'。) //stackoverflow.com/questions/16154458/how-to-to-copy-all-source-jars-using-gradle">如何使用gradle复制所有源罐 ,将以下代码添加到build.gradle并运行IJ IDEA中的该任务:

031293190

我进行了网络搜索错误,但仅在Stackoverflow上找到 gradle-无法获得配置容器的未知属性'scm'阅读该帖子后:

419373649

在任务 copysourcejars 运行它之后,它写下了构建成功,但是在硬盘驱动器上没有在特定目录中显示任何文件。出于某种原因构建输出不列出 copySourcejars

038114224

,然后我再次从IDEA菜单中选择 Run 并获得了另一个错误:

343899268

我是否正确地使用IJ Idea下载依赖关系?也许添加配置 Runtime 没有正确完成?

3个回答

这是因为你的 gradle 版本和 gradle7 有差异,从 Gradle 6.x 开始,使用参数 configurations.runtime 获取程序执行的配置被禁用,你可以使用 configurations.runtimeClasspath 来实现同样的功能。 Gradle7 docs 之后,我成功编译并获得了项目的真实结构。

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.1/userguide/command_line_interface.html#sec:command_line_warnings

项目结构

B1ank
2021-10-14

如前面的答案中所述,对 runtime 配置的支持已在 gradle-7.0 中停止,因此 configurations.runtime 不起作用。

任务 copyAllDependenciesgradle-7.0 中对我有用。

下面是将依赖项复制到 ${buildDir}/output/libs 的示例:

将以下内容添加到 build.gradle

task copyAllDependencies(type: Copy) {
    from configurations.compileClasspath
    into "${buildDir}/output/libs"
}
build.dependsOn(copyAllDependencies)

希望对您有所帮助。

Manish Kapoor
2022-05-19
Max M
2022-03-07