无法获取 org.gradle.api.internal.artifacts.configurations 类型的配置容器的未知属性“运行时”
我有错误(对于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
没有正确完成?
这是因为你的 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
如前面的答案中所述,对
runtime
配置的支持已在
gradle-7.0
中停止,因此
configurations.runtime
不起作用。
任务
copyAllDependencies
在
gradle-7.0
中对我有用。
下面是将依赖项复制到
${buildDir}/output/libs
的示例:
将以下内容添加到
build.gradle
。
task copyAllDependencies(type: Copy) {
from configurations.compileClasspath
into "${buildDir}/output/libs"
}
build.dependsOn(copyAllDependencies)
希望对您有所帮助。
使用 gradle 升级文档中提到的
runtimeOnly
:
https://docs.gradle.org/current/userguide/upgrading_version_6.html#sec:configuration_removal