2016-10-28 6 views
2

Может ли кто-нибудь помочь мне в получении решения для нижеприведенной ошибки.Не удалось выполнить цель org.sonarsource.scanner.maven: sonar-maven-plugin: 3.2: sonar

Ниже приведены версии компонентов для настройки

  1. SonarQube 5.1.2
  2. Soanr-Runner 2,4
  3. Java 1.7 [я должен использовать 1.7 только с моего кода поддерживает только 1,7 ]
  4. mavn 3.3.9
  5. гидролокатора-Cobertura-плагин-1.6.3
  6. гидролокатора-FindBugs-плагин в-3,3
  7. Cobertura 2,6

команда Execution

mvn -fn -e org.sonarsource.scanner.maven:sonar-maven-plugin:RELEASE:sonar -Dsonar.jdbc.url="jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance" -Dsonar.host.url=http://localhost:9000 -DskipTests 

В окне консоли я получаю ошибку

[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin: 
3.2:sonar (default-cli) on project NWT_Core: Execution default-cli of goal org.s 
onarsource.scanner.maven:sonar-maven-plugin:3.2:sonar failed: Unable to load the 
mojo 'sonar' in the plugin 'org.sonarsource.scanner.maven:sonar-maven-plugin:3. 
2' due to an API incompatibility: org.codehaus.plexus.component.repository.excep 
tion.ComponentLookupException: org/sonarsource/scanner/maven/SonarQubeMojo : Unsupported major.minor version 52.0 

ответ

3

Независимо от того, что вы компилировать код с, анализ SonarQube должен быть запустить с Java 8. Вам просто нужно использовать разные версии JDK для компиляции и анализа. Либо это, либо все с Java 8 и -target 1.7.

+0

Несомненно @G. Ann - SonarSource Team Я проверю этот метод и вернусь назад Спасибо! – Batman

+1

Спасибо Он работал как шарм, установив Java 8! Теперь мне нужно постоянное решение Где Мой код должен скомпилировать с 1.7, а мой SonarQube должен с Java 8 Как я могу это сделать -target 1.7, можете ли вы мне помочь в этом. – Batman

5

С 3.2, Maven плагин SonarQube требует Java 8. Вы должны использовать 3.0.2 версия для Java 7.

Вы должны явно добавить это заявление к вашему ПОМ:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>sonar-maven-plugin</artifactId> 
    <version>3.0.2</version> 
</plugin> 

Потому что если вы этого не сделаете, то по умолчанию этот плагин использует последнюю версию плагина (3.2), следовательно, ваша ошибка.

См. http://docs.sonarqube.org/display/HOME/Frequently+Asked+Questions#FrequentlyAskedQuestions-ShouldIlockversionofSonarQubeMavenplugininmypom.xml?

+0

проверит это и скоро обновит – Batman

+0

По-прежнему получаю ту же ошибку '[ERROR] Не удалось выполнить цель org.sonarsource.scanner.maven: sonar-maven-plugin: 3.2: sonar (default-cli) для проекта NWT_Core: Выполнение default-cli цели org.s onarsource.scanner.maven: sonar-maven-plugin: 3.2: не удалось выполнить сонар: не удалось загрузитьmojo 'sonar' в плагин 'org.sonarsource.scanner.maven: сонар-Maven-плагин: 3. 2 'из-за несовместимости API: org.codehaus.plexus.component.repository.excep .ComponentLookupException: org/sonarsource/scanner/maven/SonarQubeMojo: Uns upported major.minor version 52.0 ' – Batman

+0

Да, я сделал« Чистую установку », но попробую сделать« проект -> Maven -> Update Maven Project »и обновить вас назад. – Batman

0

В моем случае я имел родительский POM с

<build> 
    <pluginManagement> 
    <plugins> 
     <plugin> 
     <groupId>org.codehaus.sonar</groupId> 
     <artifactId>sonar-maven-plugin</artifactId> 
     <version>2.5</version> 
     </plugin> 
    </plugins> 
    </pluginManagement> 
</build> 

Я добавил свою собственную версию также в pluginManagement в моем детском П, но это не сработало, я должен был добавить плагин к <build><plugins> узлам вместо <build><pluginManagement><plugins>. Только тогда была использована новая более новая версия.

Возможно, это помогает кому-то.