我正在使用SonarQube进行代码质量控制,并且突然构建了否则无法通过且无法通过的构建。
[INFO] [00:00:03.630]分析/mySuperProject/target/jacoco.exec-> java.io.IOException:版本1007不兼容
当我使用调试开关调用Maven构建时,此原因被揭示
Caused by: java.io.IOException: Incompatible version 1007.
at org.jacoco.core.data.ExecutionDataReader.readHeader(ExecutionDataReader.java:127)
at org.jacoco.core.data.ExecutionDataReader.readBlock(ExecutionDataReader.java:107)
at org.jacoco.core.data.ExecutionDataReader.read(ExecutionDataReader.java:87)
at org.sonar.plugins.jacoco.AbstractAnalyzer.readExecutionData(AbstractAnalyzer.java:134)
at org.sonar.plugins.jacoco.AbstractAnalyzer.analyse(AbstractAnalyzer.java:107)
在检查jacoco ExecutionDataReader时,我发现从抛出了异常
if (version != ExecutionDataWriter.FORMAT_VERSION) {
throw new IOException(format("Incompatible version %x.",Integer.valueOf(version)));
}
从ExecutionDataWriter我发现
/** File format version, will be incremented for each incompatible change. */
public static final char FORMAT_VERSION = 0x1007;
什么是不兼容的更改,为什么会发生?任何想法如何解决这个挑战?