Tôi đang sử dụng SonarQube để kiểm soát chất lượng mã và đột nhiên xây dựng mà nếu không vượt qua không thể được phân tích và thất bại.JaCoCo SonarQube phiên bản không tương thích 1007
[INFO] [00: 00: 03,630] Phân tích /mySuperProject/target/jacoco.exec -> java.io.IOException: Không tương thích phiên bản 1007
Khi tôi gọi maven xây dựng với debug công tắc, nguyên nhân này được tiết lộ
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)
Trong khi kiểm tra jacoco ExecutionDataReader, tôi thấy ngoại lệ được ném từ
if (version != ExecutionDataWriter.FORMAT_VERSION) {
throw new IOException(format("Incompatible version %x.",Integer.valueOf(version)));
}
và từ ExecutionDataWriter Tôi đã phát hiện ra
/** File format version, will be incremented for each incompatible change. */
public static final char FORMAT_VERSION = 0x1007;
này thay đổi không tương thích là gì và tại sao nó xảy ra? Bất kỳ ý tưởng nào về cách khắc phục thử thách này?
Issue đã được nâng lên trên SonarQube bên java plugin: http://jira.codehaus.org/browse/SONARJAVA-1091 và cần được cố định trong phiên bản tiếp theo. Đây là một thay đổi đột phá về phía JaCoCo. Hãy để chúng tôi một chút thời gian để có thể sửa chữa nó. – benzonico