【发布时间】:2021-09-28 12:23:58
【问题描述】:
我尝试实现最简单的示例以便更好地理解 Gradle 7 版本目录。我使用'gradle init'来生成一个新的应用程序, 然后我按照这篇博文中介绍的步骤进行操作-> https://melix.github.io/blog/2021/03/version-catalogs.html 尽我所能。 结果,当我尝试将项目导入 Intellij 时(以及当我在项目的根目录中简单地运行“gradlew test”时)是错误 以下。我猜它更有可能是 功能有效,我做了一些愚蠢的事情,而不是功能被破坏了。任何 一双锐利的眼睛可以帮助我发现愚蠢的东西?
我遇到了错误
评估项目 ':app' 时出现问题。
无法为 org.gradle.accessors.dm.LibrariesForLibs 类型的扩展“libs”获取未知属性“testDependencies”。
我做了什么
- 通过 gradle init 生成一个简单的 Gradle 示例应用,如下所示:
Select type of project to generate:
1: basic
2: application
3: library
4: Gradle plugin
Enter selection (default: basic) [1..4] 2<RETURN>
Select implementation language:
1: C++
2: Groovy
3: Java
4: Kotlin
5: Scala
6: Swift
Enter selection (default: Java) [1..6] 5<RETURN>
Split functionality across multiple subprojects?:
1: no - only one application project
2: yes - application and library projects
Enter selection (default: no - only one application project) [1..2] 1<RETURN>
Select build script DSL:
1: Groovy
2: Kotlin
Enter selection (default: Groovy) [1..2] 1<RETURN>
Project name (default: stacko):<RETURN>
Source package (default: stacko):<RETURN>
- 在他们说应该去的地方添加版本目录定义(确切的内容在博客文章中)
cat <<EOF >gradle/libs.versions.toml
[libraries]
guava = "com.google.guava:guava:30.0-jre"
junit-jupiter = "org.junit.jupiter:junit-jupiter-api:5.7.1"
junit-engine = { module="org.junit.jupiter:junit-jupiter-engine" }
[bundles]
testDependencies = ["junit-jupiter", "junit-engine"]
EOF
- 启用预览功能
echo "enableFeaturePreview('VERSION_CATALOGS')" >/tmp/stuff
cat settings.gradle >> /tmp/stuff
cp /tmp/stuff settings.gradle
然后我将这个 (WRONG) 行添加为我的依赖项 { } 块中的最后一行(请参阅接受的答案以进行更正):
testImplementation(libs.testDependencies)
- 尝试导入 Intellij 并得到上面 ERROR I GOT 中显示的错误。
【问题讨论】:
标签: gradle dependencies version catalog