1

这很可能只是 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 项目应用程序。

4

0 回答 0