Я використовую 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;
Що це за несумісні зміни і чому це відбувається? Будь-які ідеї, як вирішити цю проблему?