这很可能只是 Gradle 初学者的问题,但我似乎无法弄清楚。
我试图让 jacocoTestReport 的基本任务运行为我已经交给我的 Gradle 项目的多项目构建。
在根项目 build.gradle 文件中,我们有:
apply plugin: 'jacoco'
jacoco {
toolVersion = '0.8.5'
}
在依赖项下,我们有:
jacocoAgent files("${rootProject.rootDir}/path/to/jacoco/zip/file/jacoco-0.8.5.201910111838.zip")
这个 zip 文件jacoco-0.8.5.201910111838.zip包含:
- 覆盖范围
- 文档
- 库
- jacocoagent.jar
- jacocoant.jar
- jacococli.jar
- org.jacoco.agent-0.8.5.201910111838.jar
- org.jacoco.ant-0.8.5.201910111838.jar
- org.jacoco.core-0.8.5.201910111838.jar
- org.jacoco.report-0.8.5.201910111838.jar
- 测试
- 索引.html
为简洁起见,我没有将文件包含在 lib 以外的其他文件夹中。
在 dependencies.build.gradle 文件中,我们引用了:
jacoco_agent : "org.jacoco:org.jacoco.agent:0.8.5"
jacoco_ant : "org.jacoco:org.jacoco.ant:0.8.5"
运行./gradlew.bat 任务时,我可以看到正在验证的任务jacocoTestReport
当我尝试运行 ./gradlew.bat jacocoTestReport 时,出现以下错误:
- 出了什么问题:任务“:myProject:jacocoTestReport”执行失败。
无法解析配置 ':myProject:jacocoAnt' 的所有文件。找不到 org.jacoco:org.jacoco.ant:0.8.5。在以下位置搜索: - file:/C:/the/folder/with/zipFile/org.jacoco.ant-0.8.5.jar - file:/C:/the/folder/with/zipFile/org.jacoco .ant-0.8.5.jar - 文件:/C:/a/folder/without/zipFile/org.jacoco.ant-0.8.5.jar - 文件:/C:/a/folder/without/zipFile/org .jacoco.ant-0.8.5.jar - 文件:/C:/the/folder/with/zipFile/org.jacoco.ant-0.8.5.jar - 文件:/C:/another/folder/withOut/zipFile /org.jacoco.ant-0.8.5.jar - 文件:/C:/another/folder/without/zipFile/org.jacoco.ant.jar 要求:项目:myProject
这是一个相当大的 Gradle 文件,因此作为一个 Gradle 初学者,需要经历很多事情,我发现了对此存储库设置的各种参考:
repositories {
ivy {
artifactPattern 'file://' + rootProject.file('some/folder') + '/[organisation]/[module]-[revision](.[ext])'
...
}
}
与 zip 文件位置匹配。
如果 Gradle 可以找到 zip 文件并使用 jacocoAgent(在 zip 文件中作为 jar 包),为什么它不能在同一个 zip 文件中使用 ant jar?
这是将 Gradle 包装器与 Gradle 版本 6.5 一起用于多 Java 项目应用程序。