简体   繁体   English

JaCoCo 测试覆盖率问题 maven 构建失败

[英]JaCoCo test coverage issue maven build failing

I'm facing the below issue,我面临以下问题,

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.8:run (default) on project VstsReport: An Ant BuildException has occured: Error while creating report [错误] 无法执行目标 org.apache.maven.plugins:maven-antrun-plugin:1.8:run (default) on project VstsReport: An Z938DB156AD9B66499407 创建报告时发生错误:

[ERROR] around Ant part...... @ 8:11 in /__w/49/s/target/antrun/build-main.xml: Error while analyzing myapp/target/demo.war@WEB-INF/lib/lombok-1.16.22.jar@lombok/eclipse/agent/EclipseLoaderPatcherTransplants.SCL.lombok. [错误] 围绕 Ant 部分......@ 8:11 in /__w/49/s/target/antrun/build-main.xml:分析 myapp/target/demo.war@WEB-INF/lib 时出错/lombok-1.16.22.jar@lombok/eclipse/agent/EclipseLoaderPatcherTransplants.SCL.lombok。 Can't add different class with same name: lombok/eclipse/agent/EclipseLoaderPatcherTransplants无法添加具有相同名称的不同 class:lombok/eclipse/agent/EclipseLoaderPacherTransplants

[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [错误] 要查看错误的完整堆栈跟踪,请使用 -e 开关重新运行 Maven。

[ERROR] Re-run Maven using the -X switch to enable full debug logging. [错误] 使用 -X 开关重新运行 Maven 以启用完整的调试日志记录。

I have tried excluding the class from Jacoco configuration in pom.xml but still facing the issue.我已经尝试从 pom.xml 的 Jacoco 配置中排除 class 但仍然面临问题。

<exclude>lombok/eclipse/agent/EclipseLoaderPatcherTransplants.class</exclude> <exclude>lombok/eclipse/agent/EclipseLoaderPatcherTransplants.class</exclude>

I am facing the same the same issue, did you get any resolution?我也面临同样的问题,请问您有解决方案吗?

I ran into the same issue with gradle, you'll need to exclude the jar as follow.我遇到了与 gradle 相同的问题,您需要排除 jar,如下所示。

run gradle with --stacktrace option to get more log output.使用 --stacktrace 选项运行 gradle 以获取更多日志 output。

Caused by: java.io.IOException: Error while analyzing profilecleaner-1.0.jar@BOOT-INF/lib/lombok-1.16.4.jar@lombok/eclipse/agent/EclipseLoaderPatcherTransplants.SCL.lombok with JaCoCo 0.8.8.202204050719/5dcf34a.
        at org.jacoco.core.analysis.Analyzer.analyzerError(Analyzer.java:163)
        at org.jacoco.core.analysis.Analyzer.analyzeClass(Analyzer.java:135)
        at org.jacoco.core.analysis.Analyzer.analyzeClass(Analyzer.java:158)
        at org.jacoco.core.analysis.Analyzer.analyzeAll(Analyzer.java:195)
        at org.jacoco.core.analysis.Analyzer.analyzeZip(Analyzer.java:267)
        at org.jacoco.core.analysis.Analyzer.analyzeAll(Analyzer.java:198)
        at org.jacoco.core.analysis.Analyzer.analyzeZip(Analyzer.java:267)
        at org.jacoco.core.analysis.Analyzer.analyzeAll(Analyzer.java:198)
        at org.jacoco.ant.ReportTask.createBundle(ReportTask.java:573)
        at org.jacoco.ant.ReportTask.createReport(ReportTask.java:545)
        at org.jacoco.ant.ReportTask.execute(ReportTask.java:496)
        ... 150 more
Caused by: java.lang.IllegalStateException: Can't add different class with same name: lombok/eclipse/agent/EclipseLoaderPatcherTransplants
        at org.jacoco.core.analysis.CoverageBuilder.visitCoverage(CoverageBuilder.java:106)
        at org.jacoco.core.analysis.Analyzer$1.visitEnd(Analyzer.java:100)
        at org.objectweb.asm.ClassVisitor.visitEnd(ClassVisitor.java:377)
        at org.jacoco.core.internal.flow.ClassProbesAdapter.visitEnd(ClassProbesAdapter.java:100)
        at org.objectweb.asm.ClassReader.accept(ClassReader.java:748)
        at org.objectweb.asm.ClassReader.accept(ClassReader.java:424)
        at org.jacoco.core.analysis.Analyzer.analyzeClass(Analyzer.java:117)
        at org.jacoco.core.analysis.Analyzer.analyzeClass(Analyzer.java:133)
        ... 159 more

and to exclude the jar并排除 jar

jacocoTestReport{
    doFirst {
        delete fileTree (dir: "${buildDir}/resources/main", include: "profilecleaner*.jar")
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM