我用的是Gradle 1.6。
我运行了以下命令,它对所有项目都能正常工作
Gradle清洁构建jacocoTestReport
今天,我看到其中一个项目在“jacocoTestReport”部分失败。PS附带错误日志。
主要错误行是:
12:35:45.920 [错误] [org.gradle.构建异常报告程序]导致错误的原因::创建报告时出错
....
12:35:45.924 [错误] [org.gradle.构建异常报告程序]导致错误的原因:java.io.FileNotFoundException:/production/jenkinsAKS/workspace/MFUSvc/src/java-test/com/thc/ids/ws/mfu/msg/处方集(是一个目录)
需要注意的几点:
1.这个项目是建立finee没有错误,但今天我看到这个错误。
1.我尝试使用两个/不同版本的jacoco(如下所示)- jacocoTestReport任务在使用两个版本的所有其他项目中工作正常,但在这个项目中失败。
- 雅科科{
//工具版本=“0.6.2.201302030002”
工具版本=“0.7.0.201403182114”
//报表目录=文件(“$生成目录/自定义Jacobo报表目录”)
}*
1.在给定的src/java-test/.../...路径下,我看到一个有效的.java文件,在我的工作区中(完成compileJava等Gradle任务后,我看到build/classes/{main,test,integrationTest}/...文件夹包含一个有效的.class文件(对于错误中显示的路径,并显示“是一个目录”)。
你知道我错过了什么吗。
FULL(--堆栈跟踪或--调试日志)显示:
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')
}
3条答案
按热度按时间bgibtngc1#
更新:我知道为什么了!-- sourceSet {...}部分用于main/java、test/java等。对于每个main、test、etc部分--〉在我的全局init.d级别的“common.gradle”文件中,并且它应用于所有项目{...}。我在全局common.gradle文件中提到了全局sourceSet部分,这样我就不必包含常见任务/现在,由于每个项目的build.gradle文件中的srcDir在全局级别都设置为'not_valid_value',因此我的假设是,此无效的srcDir值将被实际有效的 *srcDir值 * 覆盖(当Gradle构建系统将从每个单独项目的build.gradle文件中读取sourceSets部分{...}时)的sourceSet部分,或者它们将作为一个列表条目聚集在一起,即main srcDir将变为['src/java','not_valid_value']---当我在common.gradle中打印并运行项目gradle build时,打印了有效的聚集值:
打印的值,不知道是否需要引号,因为Gradle打印得很好:
因此,当我在jacocoTestReport任务中使用sourceSets.main.allJava.srcDirs作为sourceDirectories变量时,它会通过,并且不会给我一个错误(正如我在我的帖子中提到的),即使main/java的srcDir变量是:['src/java','not_valid_value'],即一个来自common.gradle,另一个来自项目的build.gradle sourceSet部分。我现在没有收到错误消息,但它现在会破坏生成的报告(也称为index.html)中的HTML链接...请参见下面的快照图像。
当我使用main/java的实际值时,test/java(即srcDir 'src/java'或srcDir 'test/java'或srcDir 'src/java-test'),位于“common.gradle”全局文件的sourceSet部分中--或者,如果我硬编码jacocoTestReport任务的sourceDirectories变量----它会给我带来与我在帖子中提到的相同的错误但是针对其他项目,它成功了,我看到jacoco HTML report index.html中的HTML链接正在工作。在这种情况下,无论它是成功的,我都发现我在test/java或src/java-test tree下有有效的源代码java文件。失败并给我一个错误的项目在test/java,src/java-test tree下没有任何内容。因此,在构建过程中,未生成build/jacoco文件夹,因为失败的项目没有任何测试。因此,仍然存在“src/java”或“src/java-test”无法通过此特定项目的jacocoTestReport任务的原因。
如果我使用以下代码来代替定义实际值src/java
对于JacoboTestReport任务,它用于正确显示覆盖率%信息,而我在上面的帖子中显示的错误消息不现在显示(可能是srcDir不是有效值--但是我打印了sourceSets.main.allJava.srcDirs的值,它在构建时显示了['src/java','not_valid_value']),但它会中断到源文件的HTML链接,例如,当您浏览jacocoHTML reportElement列时,您可以看到覆盖率百分比,但在最深处,当您单击函数/类级别时,您无法看到文件的源代码(您可以逐行看到绿色/Yellow/Red覆盖范围)。
如果我在sourceSets {.. main { java { srcDir 'src/java' } } }中使用“src/java”,或者在jacocoTestReport任务---〉中使用sourceDirectories = files('src,java'),则会出现以下错误:
我看到了另一个类似的错误消息,其中包含路径“src/java-test”,因为源代码控制确实包含src/java-test测试。
至少,有一件事是清楚的,这是我一直在寻找的。当我给出硬编码值时,函数或类级别的“元素”列链接是工作的。不知何故,它不是我在一些博客中看到的(sourceSets.main.allJava.srcDirs)或(sourceSets.main.java.srcDirs)。
des4xlb02#
最终答案:1)最近有人对这个项目进行了分级,并做了一些JIBX处理,一些JIBX CLASS文件最终进入了build/classes/main或other/....文件夹树(这在我的帖子中的错误消息中显示)。jacocoTestReport“html”部分的设置是正确的,但它失败了,因为我们在构建时在build/classes/.../树中插入了一些新的.class文件,jacoco无法找到这些文件的源代码,因此它要求无法创建报告。
我所做的一切...
现在一切都很幸福。
2)现在,我在前面的评论中提到sourceSets.main.allJava.srcDirs正在工作...是的,因为当时我正在通用.gradle文件中设置srcDir“src/java”。后来,我决定将“not_valid_value”放在通用.gradle文件中,作为全局级别的文件,您不知道项目源代码java是位于src/java还是src/somefunkyfolder/java中。如果在项目'的build.gradle文件/级别,然后它会覆盖或者实际上我应该说是将来自项目build.gradle的srcDir 'src/java'的实际有效值和来自common. gradle的'not_valid_value'合并在一起。Gradle只会忽略某些文件夹/文件中不存在的内容,所以我很好。我们在common. gradle中定义了test {..}、integrationTest {..}和jacocoTestReport任务,而不是将这80-100行代码放在每个项目的build. gradle中。
3)现在,在删除了那些时髦的JiBx_*... class文件之后,在将它们包含在项目的结果.jar构建工件中之后,但在jacocoTestReport任务之前--事情又回到了正常状态+我了解了如何使jacoco HTML report元素链接工作。
amrnrhlw3#
gradle jacocoRootReport --堆栈跟踪--调试