Java jacocoagent.jar在gradle中丢失';清洁建造';阶段
我在gradle和jacoco中遇到了一个问题,Java jacocoagent.jar在gradle中丢失';清洁建造';阶段,java,gradle,intellij-idea,jacoco,Java,Gradle,Intellij Idea,Jacoco,我在gradle和jacoco中遇到了一个问题,gradle clean build失败,任务期间JacoAgent.jar丢失-compileTestJava和Test 在检查问题时,我发现如果我删除.gradle下的build文件夹并运行-gradle build或gradle test命令,再次创建“build”文件夹,并在“/build/tmp/expandedArchives/”位置下创建codecoverage所需的“jacoagent.jar” 但是如果我运行gradle clea
gradle clean build
失败,任务期间JacoAgent.jar
丢失-compileTestJava
和Test
在检查问题时,我发现如果我删除.gradle下的build文件夹并运行-gradle build
或gradle test
命令,再次创建“build”文件夹,并在“/build/tmp/expandedArchives/”位置下创建codecoverage所需的“jacoagent.jar”
但是如果我运行gradle clean build
或gradle clean test
,“build”文件夹将被删除并再次创建,但“/build/tmp”位置下的“expandedArchives”文件夹未被创建,因此测试失败,出现以下错误-
打开zip文件或JAR清单时出错:build/tmp/expandedArchives/org.jacoco.agent-0.8.4.jar7BFC4FD986D61DBF9206575FF3714A0/jacocoagent.JAR
以下是complieTestJava和测试任务的完整堆栈跟踪:
> Task :compileTestJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Could not write standard input to Gradle Test Executor 2.
java.io.IOException: The pipe is being closed
at java.io.FileOutputStream.writeBytes(Native Method)
at java.io.FileOutputStream.write(FileOutputStream.java:326)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
at org.gradle.process.internal.streams.ExecOutputHandleRunner.forwardContent(ExecOutputHandleRunner.java:66)
at org.gradle.process.internal.streams.ExecOutputHandleRunner.run(ExecOutputHandleRunner.java:51)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:748)
> Task :test
Error occurred during initialization of VM
agent library failed to init: instrument
Error opening zip file or JAR manifest missing : build/tmp/expandedArchives/org.jacoco.agent-0.8.4.jar_7bfc4fd986d61dbf92065775ff3714a0/jacocoagent.jar
Error occurred during initialization of VM
agent library failed to init: instrument
Error opening zip file or JAR manifest missing : build/tmp/expandedArchives/org.jacoco.agent-0.8.4.jar_7bfc4fd986d61dbf92065775ff3714a0/jacocoagent.jar
Could not write standard input to Gradle Test Executor 3.
java.io.IOException: The pipe is being closed
at java.io.FileOutputStream.writeBytes(Native Method)
at java.io.FileOutputStream.write(FileOutputStream.java:326)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
at org.gradle.process.internal.streams.ExecOutputHandleRunner.forwardContent(ExecOutputHandleRunner.java:66)
at org.gradle.process.internal.streams.ExecOutputHandleRunner.run(ExecOutputHandleRunner.java:51)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:748)
有线索吗?这里会出什么问题
以下是我的生成环境的详细信息:
- 格拉德尔-5.6.2
- 雅科科-0.8.4
- Java-1.8.0.181
- IntelliJ-2019.2.3(最终版)
- 操作系统-Windows7企业版
jacoco {
toolVersion = "0.8.4"
}
test {
exclude "features/**"
exclude "**/*IntegrationTests*"
}
jacocoTestReport {
reports {
xml.enabled false
csv.enabled false
html.destination file("${buildDir}/jacocoHtml")
}
}
jacocoTestCoverageVerification {
violationRules {
rule {
limit {
counter = 'LINE'
value = 'COVEREDRATIO'
minimum = 0.75
}
}
}
}
jacocoTestCoverageVerification.mustRunAfter jacocoTestReport
test.finalizedBy jacocoTestReport
你能附上你的构建脚本吗?用jacoco任务更新了我的问题。有可能用新的示例项目重现这个问题吗?用一个非常基本的spring boot项目,它工作得很好。现在,我必须一块一块地构建它,看看它在哪个依赖项上失败了。