无法执行目标org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:声纳

Ron*_*Ron 4 sonar-runner sonarqube maven-cobertura-plugin

任何人都可以帮助我获得以下错误的解决方案.

以下是要配置的组件的版本

  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

执行命令

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
Run Code Online (Sandbox Code Playgroud)

在控制台窗口中我收到错误

[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 
Run Code Online (Sandbox Code Playgroud)

Zzi*_*ium 6

从3.2开始,SonarQube maven插件需要Java 8.你必须使用3.0版本的Java 7.

你必须明确地将这个陈述添加到你的pom:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>sonar-maven-plugin</artifactId>
    <version>3.0.2</version>
</plugin>
Run Code Online (Sandbox Code Playgroud)

因为如果你不这样做,默认情况下这个插件使用插件的最新版本(3.2),因此你的错误.

请参阅http://docs.sonarqube.org/display/HOME/Frequently+Asked+Questions#FrequentlyAskedQuestions-ShouldIlockversionofSonarQubeMavenplugininmypom.xml


G. *_*eam 5

无论您使用什么编译代码,SonarQube 分析都应该使用 Java 8运行。您只需要使用不同的 JDK 版本进行编译和分析。要么,要么用 Java 8 和-target 1.7.

  • 谢谢它通过安装 Java 8 像魅力一样工作!现在我想要一个永久的解决方案,我的代码应该用 1.7 编译,我的 SonarQube 应该用 Java 8 我该怎么做 -target 1.7 你能帮我解决这个问题吗? (2认同)