gpt4 book ai didi

file - Jacoco Gradle jacocoTestReport 任务失败生成报告时出错 - 是一个目录

转载 作者:行者123 更新时间:2023-12-01 03:50:54 32 4
gpt4 key购买 nike

我正在使用 Gradle 1.6。

我运行以下命令,它适用于所有项目
gradle clean build jacocoTestReport

今天,我看到其中一个项目在“jacocoTestReport”部分失败。 PS附上错误日志。

主要的错误行是 :
12:35:45.920 [ERROR] [org.gradle.BuildExceptionReporter] 原因::创建报告时出错....
12:35:45.924 [ERROR] [org.gradle.BuildExceptionReporter] 由:java.io.FileNotFoundException:/production/jenkinsAKS/workspace/MFUSvc/src/java-test/com/thc/ids/ws/mfu/msg/formulary(是一个目录)

需要注意的几点:

  • 这个项目正在 build 罚款没有错误,但今天我
    看到这个错误。
  • 我尝试使用两个/不同版本的 jacoco(如下所示) - jacocoTestReport 任务在使用这两个版本的所有其他项目中都可以正常工作,但在这个版本中失败了。

    贾可科{
    //toolVersion = "0.6.2.201302030002"
    工具版本 = "0.7.0.201403182114"
    //reportsDir = file("$buildDir/customJacocoReportDir")
    }
  • 在给定的 src/java-test/.../... 路径下,我看到一个有效的 .java 文件和我的工作区(一旦 compileJava 等 Gradle 任务完成,我看到 build/classes/{main, test, integrationTest }/... 文件夹包含一个有效的 .class 文件(对于显示在错误中并说“是一个目录”的那个路径。

  • 知道我错过了什么。

    FULL(--stacktrace 或--debug 日志)显示 :
    12:35:45.893 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on task artifact state cache (/production/jenkinsAKS/workspace/MFUSvc/.gradle/1.6/taskArtifacts).
    12:35:45.893 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired.
    12:35:45.894 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':jacocoTestReport'
    12:35:45.894 [LIFECYCLE] [org.gradle.TaskExecutionLogger] :jacocoTestReport FAILED
    12:35:45.903 [ERROR] [org.gradle.BuildExceptionReporter]
    12:35:45.903 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception.
    12:35:45.903 [ERROR] [org.gradle.BuildExceptionReporter]
    12:35:45.903 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong:
    12:35:45.904 [ERROR] [org.gradle.BuildExceptionReporter] Execution failed for task ':jacocoTestReport'.
    12:35:45.904 [ERROR] [org.gradle.BuildExceptionReporter] > Error while creating report
    12:35:45.905 [ERROR] [org.gradle.BuildExceptionReporter]
    12:35:45.905 [ERROR] [org.gradle.BuildExceptionReporter] * Exception is:
    12:35:45.906 [ERROR] [org.gradle.BuildExceptionReporter] org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':jacocoTestReport'.
    12:35:45.906 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
    12:35:45.906 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
    12:35:45.907 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
    12:35:45.907 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.changedetection.state.CacheLockReleasingTaskExecuter$1.run(CacheLockReleasingTaskExecuter.java:35)
    12:35:45.907 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.internal.Factories$1.create(Factories.java:22)
    12:35:45.907 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:179)
    12:35:45.908 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:232)
    12:35:45.908 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOperation(DefaultPersistentDirectoryStore.java:142)
    12:35:45.908 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.longRunningOperation(DefaultTaskArtifactStateCacheAccess.java:83)
    12:35:45.908 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.changedetection.state.CacheLockReleasingTaskExecuter.execute(CacheLockReleasingTaskExecuter.java:33)
    12:35:45.908 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:58)
    12:35:45.909 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ContextualisingTaskExecuter.execute(ContextualisingTaskExecuter.java:34)
    12:35:45.909 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.changedetection.state.CacheLockAcquiringTaskExecuter$1.run(CacheLockAcquiringTaskExecuter.java:39)
    12:35:45.909 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.internal.Factories$1.create(Factories.java:22)
    12:35:45.909 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:124)
    12:35:45.910 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:112)
    12:35:45.910 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(DefaultPersistentDirectoryStore.java:134)
    12:35:45.910 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.useCache(DefaultTaskArtifactStateCacheAccess.java:79)
    12:35:45.910 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.changedetection.state.CacheLockAcquiringTaskExecuter.execute(CacheLockAcquiringTaskExecuter.java:37)
    12:35:45.910 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:57)
    12:35:45.911 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:41)
    12:35:45.911 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51)
    12:35:45.911 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:52)
    12:35:45.911 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:42)
    12:35:45.911 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:282)
    12:35:45.912 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.executeTask(DefaultTaskPlanExecutor.java:48)
    12:35:45.912 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.processTask(DefaultTaskPlanExecutor.java:34)
    12:35:45.912 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:27)
    12:35:45.912 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:89)
    12:35:45.912 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
    12:35:45.913 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
    12:35:45.913 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
    12:35:45.913 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67)
    12:35:45.913 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.changedetection.state.TaskCacheLockHandlingBuildExecuter$1.run(TaskCacheLockHandlingBuildExecuter.java:31)
    12:35:45.913 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.internal.Factories$1.create(Factories.java:22)
    12:35:45.914 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:124)
    12:35:45.914 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:112)
    12:35:45.914 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(DefaultPersistentDirectoryStore.java:134)
    12:35:45.914 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.useCache(DefaultTaskArtifactStateCacheAccess.java:79)
    12:35:45.914 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.changedetection.state.TaskCacheLockHandlingBuildExecuter.execute(TaskCacheLockHandlingBuildExecuter.java:29)
    12:35:45.915 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
    12:35:45.915 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
    12:35:45.915 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67)
    12:35:45.915 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
    12:35:45.915 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
    12:35:45.916 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:54)
    12:35:45.916 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:166)
    12:35:45.916 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:113)
    12:35:45.916 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:81)
    12:35:45.916 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:64)
    12:35:45.917 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
    12:35:45.917 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
    12:35:45.917 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:35)
    12:35:45.917 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
    12:35:45.917 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:50)
    12:35:45.918 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.Actions$RunnableActionAdapter.execute(Actions.java:171)
    12:35:45.918 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:201)
    12:35:45.918 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:174)
    12:35:45.918 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:170)
    12:35:45.918 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:139)
    12:35:45.919 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
    12:35:45.919 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
    12:35:45.919 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.Main.doAction(Main.java:48)
    12:35:45.919 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
    12:35:45.919 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.Main.main(Main.java:39)
    12:35:45.920 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:50)
    12:35:45.920 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:32)
    12:35:45.920 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.GradleMain.main(GradleMain.java:26)
    12:35:45.920 [ERROR] [org.gradle.BuildExceptionReporter] Caused by: : Error while creating report
    12:35:45.920 [ERROR] [org.gradle.BuildExceptionReporter] at org.jacoco.ant.ReportTask.execute(ReportTask.java:500)
    12:35:45.920 [ERROR] [org.gradle.BuildExceptionReporter] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    12:35:45.921 [ERROR] [org.gradle.BuildExceptionReporter] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    12:35:45.921 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.project.ant.BasicAntBuilder.nodeCompleted(BasicAntBuilder.java:71)
    12:35:45.921 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.project.ant.BasicAntBuilder.doInvokeMethod(BasicAntBuilder.java:86)
    12:35:45.921 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.project.DefaultAntBuilder.super$3$invokeMethod(DefaultAntBuilder.groovy)
    12:35:45.921 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.project.DefaultAntBuilder.invokeMethod(DefaultAntBuilder.groovy:37)
    12:35:45.922 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.testing.jacoco.tasks.JacocoReport.generate(JacocoReport.groovy:77)
    12:35:45.922 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:216)
    12:35:45.922 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:122)
    12:35:45.922 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:147)
    12:35:45.922 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.testing.jacoco.tasks.JacocoReport_Decorated.invokeMethod(Unknown Source)
    12:35:45.923 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.util.ReflectionUtil.invoke(ReflectionUtil.groovy:23)
    12:35:45.923 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:217)
    12:35:45.923 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)
    12:35:45.923 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:199)
    12:35:45.923 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:526)
    12:35:45.924 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:509)
    12:35:45.924 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
    12:35:45.924 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
    12:35:45.924 [ERROR] [org.gradle.BuildExceptionReporter] ... 67 more
    12:35:45.924 [ERROR] [org.gradle.BuildExceptionReporter] Caused by: java.io.FileNotFoundException: /production/jenkinsAKS/workspace/MFUSvc/src/java-test/com/thc/ids/ws/mfu/msg/formulary (Is a directory)
    12:35:45.925 [ERROR] [org.gradle.BuildExceptionReporter] at org.jacoco.report.DirectorySourceFileLocator.getSourceStream(DirectorySourceFileLocator.java:50)
    12:35:45.925 [ERROR] [org.gradle.BuildExceptionReporter] at org.jacoco.report.InputStreamSourceFileLocator.getSourceFile(InputStreamSourceFileLocator.java:49)
    12:35:45.925 [ERROR] [org.gradle.BuildExceptionReporter] at org.jacoco.report.MultiSourceFileLocator.getSourceFile(MultiSourceFileLocator.java:56)
    12:35:45.925 [ERROR] [org.gradle.BuildExceptionReporter] at org.jacoco.report.internal.html.page.PackageSourcePage.renderSourceFilePages(PackageSourcePage.java:83)
    12:35:45.925 [ERROR] [org.gradle.BuildExceptionReporter] at org.jacoco.report.internal.html.page.PackageSourcePage.render(PackageSourcePage.java:66)
    12:35:45.926 [ERROR] [org.gradle.BuildExceptionReporter] at org.jacoco.report.internal.html.page.PackagePage.render(PackagePage.java:60)
    12:35:45.926 [ERROR] [org.gradle.BuildExceptionReporter] at org.jacoco.report.internal.html.page.BundlePage.renderPackages(BundlePage.java:70)
    12:35:45.926 [ERROR] [org.gradle.BuildExceptionReporter] at org.jacoco.report.internal.html.page.BundlePage.render(BundlePage.java:57)
    12:35:45.926 [ERROR] [org.gradle.BuildExceptionReporter] at org.jacoco.report.html.HTMLFormatter$1.visitBundle(HTMLFormatter.java:212)
    12:35:45.926 [ERROR] [org.gradle.BuildExceptionReporter] at org.jacoco.report.MultiGroupVisitor.visitBundle(MultiReportVisitor.java:69)
    12:35:45.927 [ERROR] [org.gradle.BuildExceptionReporter] at org.jacoco.ant.ReportTask.createReport(ReportTask.java:555)
    12:35:45.927 [ERROR] [org.gradle.BuildExceptionReporter] at org.jacoco.ant.ReportTask.execute(ReportTask.java:494)
    12:35:45.927 [ERROR] [org.gradle.BuildExceptionReporter] ... 86 more
    12:35:45.927 [ERROR] [org.gradle.BuildExceptionReporter]
    12:35:45.927 [LIFECYCLE] [org.gradle.BuildResultLogger]
    12:35:45.927 [LIFECYCLE] [org.gradle.BuildResultLogger] BUILD FAILED
    12:35:45.927 [LIFECYCLE] [org.gradle.BuildResultLogger]
    12:35:45.928 [LIFECYCLE] [org.gradle.BuildResultLogger] Total time: 15.283 secs

    现在它是在 src/java(而不是 src/java-test)下的某个路径。
    Caused by: : Error while creating report
    at org.jacoco.ant.ReportTask.execute(ReportTask.java:500)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.gradle.api.internal.project.ant.BasicAntBuilder.nodeCompleted(BasicAntBuilder.java:71)
    at org.gradle.api.internal.project.ant.BasicAntBuilder.doInvokeMethod(BasicAntBuilder.java:86)
    at org.gradle.api.internal.project.DefaultAntBuilder.super$3$invokeMethod(DefaultAntBuilder.groovy)
    at org.gradle.api.internal.project.DefaultAntBuilder.invokeMethod(DefaultAntBuilder.groovy:37)
    at org.gradle.testing.jacoco.tasks.JacocoReport.generate(JacocoReport.groovy:77)
    at org.gradle.api.internal.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:216)
    at org.gradle.api.internal.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:122)
    at org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:147)
    at org.gradle.testing.jacoco.tasks.JacocoReport_Decorated.invokeMethod(Unknown Source)
    at org.gradle.util.ReflectionUtil.invoke(ReflectionUtil.groovy:23)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:217)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:199)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:526)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:509)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
    ... 67 more
    Caused by: java.io.FileNotFoundException: /production/jenkinsAKS/workspace/MFUSvc/src/java/com/thc/ids/biz/mfusvc/dto (Is a directory)
    at org.jacoco.report.DirectorySourceFileLocator.getSourceStream(DirectorySourceFileLocator.java:50)
    at org.jacoco.report.InputStreamSourceFileLocator.getSourceFile(InputStreamSourceFileLocator.java:49)
    at org.jacoco.report.MultiSourceFileLocator.getSourceFile(MultiSourceFileLocator.java:56)
    at org.jacoco.report.internal.html.page.PackageSourcePage.renderSourceFilePages(PackageSourcePage.java:83)
    at org.jacoco.report.internal.html.page.PackageSourcePage.render(PackageSourcePage.java:66)
    at org.jacoco.report.internal.html.page.PackagePage.render(PackagePage.java:60)
    at org.jacoco.report.internal.html.page.BundlePage.renderPackages(BundlePage.java:70)
    at org.jacoco.report.internal.html.page.BundlePage.render(BundlePage.java:57)
    at org.jacoco.report.html.HTMLFormatter$1.visitBundle(HTMLFormatter.java:212)
    at org.jacoco.report.MultiGroupVisitor.visitBundle(MultiReportVisitor.java:69)
    at org.jacoco.ant.ReportTask.createReport(ReportTask.java:555)
    at org.jacoco.ant.ReportTask.execute(ReportTask.java:494)
    ... 86 more

    这是我在/init.d/common.gradle 文件中的 jacocoTestReport 任务:
      jacocoTestReport {
    group = "Reporting"
    description = "Generate Jacoco coverage reports after running tests."
    ignoreFailures = true
    executionData = fileTree(dir: 'build/jacoco', include: '**/*.exec')

    reports {
    xml{
    enabled true
    //Following value is a file
    destination "${buildDir}/reports/jacoco/xml/jacoco.xml"
    }
    csv.enabled false
    html{
    enabled true
    //Following value is a folder
    destination "${buildDir}/reports/jacoco/html"
    }
    }

    sourceDirectories = files('src/java')
    classDirectories = files('build/classes/main')
    }

    最佳答案

    更新:我知道为什么! -- sourceSet { ... } 用于 main/java、test/java 等的部分。对于每个 main、test 等部分的 srcDir 设置都有一个“not_valid_value”--> 在我的全局 init.d 级别“common. gradle”文件,它应用于所有项目{...}。我已经在 global common.gradle 文件中提到了 global sourceSet 部分,这样我就不必在每个项目的 build.gradle 文件中包含 test、integrationTest 等任务的常见任务/配置。现在,因为它们中的每一个的 srcDir 在全局级别设置为“not_valid_value”,我的假设是,这个无效的 srcDir 值将被实际有效的 srcDir 值覆盖(当 Gradle 构建系统将读取 sourceSets section {...}来自每个单独项目的 build.gradle 文件的 sourceSet 部分,用于 main、test 等,或者它们将作为列表条目组合在一起,即 main srcDir 将变为 ['src/java', 'not_valid_value'] --- 当我打印时common.gradle 并运行项目 gradle build,打印有效的棒状值:

      println ""
    println "sourceSets.main.allJava.srcDirs is set to : " + sourceSets.main.allJava.srcDirs
    println ""

    打印的值,不知道 ' 是否需要引号,因为 Gradle 打印得很好:
    sourceSets.main.allJava.srcDirs is set to : [/production/jenkinsAKS/workspace/MFUSvc/src/main/java, /production/jenkinsAKS/workspace/MFUSvc/not_valid_value]

    因此,当我在 jacocoTestReport 任务中为 sourceDirectories 变量使用 sourceSets.main.allJava.srcDirs 时,它的传递并没有给我一个错误(正如我在我的帖子中提到的那样),尽管 main/java 的 srcDir 变量是: ['src/java', 'not_valid_value'] 在 BUILD TIME 即一个来自 common.gradle 和一个来自项目的 build.gradle sourceSet 部分。我现在没有收到错误消息,但它现在正在破坏生成的报告(又名 index.html)中的 HTML 链接……请参阅下面的快照图像。

    当我在 sourceSet 中的“common.gradle”全局文件中使用 main/java、test/java(即 srcDir 'src/java' 或 srcDir 'test/java' 或 srcDir 'src/java-test')的实际值时部分 -- 或者,如果我对 jacocoTestReport 任务的 sourceDirectories 变量进行硬编码 ---- 它给我的错误与我在帖子 中提到的相同但是 对于其他项目,它成功了,我看到 HTML 链接在 jacoco HTML 报告 index.html 中工作。在这种情况下,无论在哪里成功,我都发现我在 test/java 或 src/java-test 树下有有效的源代码 java 文件。失败并给我一个错误的项目在 test/java、src/java-test 树下没有任何东西,因此,在构建过程中,不会生成 build/jacoco 文件夹,因为没有针对失败的项目进行测试. 所以,它仍然存在,为什么“src/java”或“src/java-test”在这个特定项目的 jacocoTestReport 任务中失败了。

    如果我使用以下代替定义实际值 源代码/java
    sourceDirectories = files(sourceSets.main.allJava.srcDirs)

    对于 JacocoTestReport 任务,它可以正确显示覆盖率 % 信息,我上面的帖子中显示的错误消息是 不是 现在出现(可能是 srcDir 不是有效值——但我打印了 sourceSets.main.allJava.srcDirs 的值,它在构建时显示 ['src/java', 'not_valid_value']),但它破坏了 HTML链接到源文件即当您浏览 jacoco HTML 报告 Element 列时,您可以看到覆盖率,但在最深处,当您在函数/类级别单击时,您看不到文件的源代码(您在哪里可以看到绿色/黄色/红色覆盖线)。

    如果我在 sourceSets { .. main { java { srcDir 'src/java' } } } 中使用“src/java”或在 jacocoTestReport 任务中使用 sourceDirectories = files('src,java') ---> 那么我'我收到以下错误:
    Caused by: java.io.FileNotFoundException: /production/jenkinsAKS/workspace/MFUSvc/src/java/com/thc/ids/biz/mfusvc/dto (Is a directory)

    我看到其他类似的错误消息,其中包含路径“src/java-test”,因为源代码管理确实包含包含测试的 src/java-test。
      //The following works for showing coverage %, but can't see file content at func/class level in HTML report
    sourceDirectories = files(sourceSets.main.allJava.srcDirs)

    // Enabling/uncommenting The following line for sourceDirectories - shows both coverage % and at the deep level if you click func/class Element link in jacoco HTML report, you'll see file content with colored coverage per line BUT, it gives error in few projects not in all (as for some, jacocoTestReport is successful)
    //sourceDirectories = files('src/java')


    //classDirectories = files('build/classes/main')


    //------------------------------------------
    // If I play with uncommenting the following, I see that jacocoTestReport task generating (is a directory) error message either for src/java-test or test/java -- in some projects.. NOTE: not in all projects.
    //additionalSourceDirs = files('test/java')
    //additionalSourceDirs += files('src/java-test')

    //additionalClassDirs = files('build/classes/test')
    //additionalClassDirs += files('build/classes/integrationTest')
    //additionalClassDirs += files('build/classes/acceptanceTest')
    //------------------------------------------

    至少,我一直在寻找一件事很清楚。当我提供硬编码值时,函数或类级别的“元素”列链接正在工作。不知何故,它不是我在一些博客中看到的 (sourceSets.main.allJava.srcDirs) 或 (sourceSets.main.java.srcDirs) 。

    enter image description here

    关于file - Jacoco Gradle jacocoTestReport 任务失败生成报告时出错 - 是一个目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22868746/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com