JaCoCo报告在Jenkins中失败:java.lang.ArrayIndexOutOfBoundsException
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JaCoCo报告在Jenkins中失败:java.lang.ArrayIndexOutOfBoundsException,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4607字,纯文字阅读大概需要7分钟。
内容图文
我一直在本地使用JaCoCo,没有问题.
在远程服务器上运行Jenkins作业时,该作业可以很好地构建并生成JaCoCo覆盖报告(即,它显示在我的工作区/报告文件夹中),但是尝试在Jenkins上发布报告时,该构建失败.
我正在使用Jenkins 1.460和JaCoCo 5.0.0.
我用以下方法配置了Jenkins:
> exec文件的路径:** / **.exec
>类的路径:** / dist / validation / WEB-INF / classes
>来源路径:** / src(我也尝试过** / Validation / src,并明确包括** / **.class并排除其他文件类型)
这是配置问题还是兼容性错误?
[编辑:万一它对其他人有帮助,其他论坛都说JaCoCo需要ASM 5来管理Java 8类分析.我已经在使用ASM 5.0.1.
BUILD SUCCESSFUL
Total time: 4 minutes 57 seconds
Archiving artifacts
Recording test results
[JaCoCo plugin] Collecting JaCoCo coverage data...
[JaCoCo plugin] **/**.exec;**/dist/validation/WEB-INF/classes;**/Validation/src; locations are configured
[JaCoCo plugin] Number of found exec files for pattern **/**.exec: 1
[JaCoCo plugin] Saving matched execfiles: E:\Jenkins\jobs\Validation - Test Cases\workspace\Validation\jacoco.exec
[JaCoCo plugin] Saving matched class directories for class-pattern: **/dist/validation/WEB-INF/classes: E:\Jenkins\jobs\Validation - Test Cases\workspace\Validation\dist\validation\WEB-INF\classes
[JaCoCo plugin] Saving matched source directories for source-pattern: **/Validation/src: E:\Jenkins\jobs\Validation - Test Cases\workspace\Validation\src
[JaCoCo plugin] Loading inclusions files..
[JaCoCo plugin] inclusions: []
[JaCoCo plugin] exclusions: []
ERROR: Publisher hudson.plugins.jacoco.JacocoPublisher aborted due to exception
java.io.IOException: Error while analyzing class E:\Jenkins\jobs\Validation - Test Cases\builds\2015-02-23_15-59-44\jacoco\classes\org\gosh\validation\filters\ModifiedFileListFilter.class.
at org.jacoco.core.analysis.Analyzer.analyzerError(Analyzer.java:150)
at org.jacoco.core.analysis.Analyzer.analyzeClass(Analyzer.java:144)
at org.jacoco.core.analysis.Analyzer.analyzeAll(Analyzer.java:175)
at org.jacoco.core.analysis.Analyzer.analyzeAll(Analyzer.java:208)
at hudson.plugins.jacoco.ExecutionFileLoader.analyzeStructure(ExecutionFileLoader.java:126)
at hudson.plugins.jacoco.ExecutionFileLoader.loadBundleCoverage(ExecutionFileLoader.java:133)
at hudson.plugins.jacoco.JacocoReportDir.parse(JacocoReportDir.java:102)
at hudson.plugins.jacoco.JacocoBuildAction.loadRatios(JacocoBuildAction.java:291)
at hudson.plugins.jacoco.JacocoBuildAction.load(JacocoBuildAction.java:273)
at hudson.plugins.jacoco.JacocoPublisher.perform(JacocoPublisher.java:371)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:705)
at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:680)
at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:658)
at hudson.model.Build$RunnerImpl.post2(Build.java:162)
at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:627)
at hudson.model.Run.run(Run.java:1446)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:238)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 7
at org.jacoco.core.internal.analysis.MethodAnalyzer.addProbe(MethodAnalyzer.java:288)
at org.jacoco.core.internal.analysis.MethodAnalyzer.visitInsnWithProbe(MethodAnalyzer.java:224)
at org.jacoco.core.internal.flow.MethodProbesAdapter.visitInsn(MethodProbesAdapter.java:76)
at org.objectweb.asm.tree.InsnNode.accept(InsnNode.java:80)
at org.objectweb.asm.tree.InsnList.accept(InsnList.java:162)
at org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:815)
at org.jacoco.core.internal.flow.ClassProbesAdapter$1.visitEnd(ClassProbesAdapter.java:124)
at org.objectweb.asm.ClassReader.b(Unknown Source)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at org.jacoco.core.analysis.Analyzer.analyzeClass(Analyzer.java:107)
at org.jacoco.core.analysis.Analyzer.analyzeClass(Analyzer.java:142)
... 18 more
Finished: FAILURE
[更新-解决方案]
使用this answer,我在本地驱动器上安装了最近发布的JaCoCo-0.7.4(请参阅eclemma.org/jacoco).此版本包含针对issue 27088的修复程序.我还必须删除然后重新安装Jenkins JaCoCo插件(我使用了Jenkins插件管理器).
解决方法:
在构建期间使用的JaCoCo版本与Jenkins在构建后操作中使用的版本之间似乎存在兼容性问题.
Maven-jacoco插件版本0.7.3.201502191951与Jenkins JaCoCo插件版本1.0.18组合会导致此问题. maven-jacoco-plugin的版本0.7.2.201409121644似乎兼容.
另请参见https://issues.jenkins-ci.org/browse/JENKINS-27088和https://github.com/jenkinsci/jacoco-plugin/pull/51
内容总结
以上是互联网集市为您收集整理的JaCoCo报告在Jenkins中失败:java.lang.ArrayIndexOutOfBoundsException全部内容,希望文章能够帮你解决JaCoCo报告在Jenkins中失败:java.lang.ArrayIndexOutOfBoundsException所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。