2016-11-04 1 views
0

есть использование гидролокатора/jacoco для нашего покрытия кода, и один он перестал работать, и сообщение об ошибке:сонар/jacoco плагин не удалось из-за несовместимости API

Не удалось выполнить цели org.sonarsource.scanner .maven: sonar-maven-plugin: 3.2: sonar (default-cli) в проекте prism-parent-pom: Выполнение default-cli цели org.sonarsource.scanner.maven: sonar-maven-plugin: 3.2: не удалось выполнить сонар: Не удалось загрузить mojo 'sonar' в плагине org.sonarsource.scanner.maven: sonar-maven-plugin: 3.2 'из-за несовместимости API: org.codehaus.plexus.component.repository.exception.ComponentLookupException: org/sonarsource/scanner/maven/SonarQubeMojo: Неподдерживаемый майор .minor версия 52.0

После некоторого болезненного сравнения до и после журналов я обнаружил изменение сонара-maven-плагина с версии 3.0.2 до 3.2, даже если в файл pom нет изменений.

Я также запускаю зависимость «mvn: tree» и не вижу зависимости от сонара.

Последний я обновил POM указать версию эхолота-Maven-плагин для обеспечения его использовать ту версию, которая используется для работы, но это все равно не поможет, вот мой родитель POM

<profiles> 
    <profile> 
     <id>coverage-per-test</id> 
     <build> 
     <plugins> 
      <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>sonar-maven-plugin</artifactId> 
      <version>3.0.2</version> 
      </plugin> 
      <plugin> 
      <groupId>org.jacoco</groupId> 
      <artifactId>jacoco-maven-plugin</artifactId> 
      <version>0.7.4.201502262128</version> 
      <executions> 
       <execution> 
       <id>default-prepare-agent</id> 
       <goals> 
        <goal>prepare-agent</goal> 
       </goals> 
       </execution> 
       <execution> 
       <id>default-prepare-agent-integration</id> 
       <phase>pre-integration-test</phase> 
       <goals> 
        <goal>prepare-agent-integration</goal> 
        <goal>prepare-agent</goal> 
       </goals> 
       </execution> 
      </executions> 
      </plugin> 
      <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <configuration> 
       <properties> 
       <property> 
        <name>listener</name> 
        <value>org.sonar.java.jacoco.JUnitListener</value> 
       </property> 
       </properties> 
      </configuration> 
      </plugin> 
      <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-failsafe-plugin</artifactId> 
      <configuration> 
       <properties> 
       <property> 
        <name>listener</name> 
        <value>org.sonar.java.jacoco.JUnitListener</value> 
       </property> 
       </properties> 
      </configuration> 
      </plugin> 
     </plugins> 
     </build> 
     <dependencies> 
     <dependency> 
      <groupId>org.codehaus.sonar-plugins.java</groupId> 
      <artifactId>sonar-jacoco-listeners</artifactId> 
      <version>2.7</version> 
      <scope>test</scope> 
     </dependency> 
     </dependencies> 
    </profile> 
    </profiles> 

что-то не так в моем пом?

ответ

3

В Java причина

Неподдержанный MAJOR.MINOR версии 52,0

что версия используется JVM ниже, чем версия, для которой были собраны файлы классов. «52.0» относится к Java 8, и эта версия действительно required starting from SonarQube version 5.6. В целом, я уверен, что сервер SonarQube был обновлен, а вы используете Java ниже 8.