web-dev-qa-db-ja.com

目標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. sonar-cobertura-plugin-1.6.3
  6. sonar-findbugs-plugin-3.3
  7. コベルトゥーラ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

コンソールウィンドウでエラーが発生します

[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 
4
Ron

コンパイルコードの内容に関係なく、SonarQube分析はrun with Java 8.である必要があります。異なるJDKバージョンを使用する必要があるだけです。コンパイルと分析のために。それか、Java 8 and -target 1.7

3.2以降、SonarQube mavenプラグインにはJava 8が必要です。Java 7.には3.0.2バージョンを使用する必要があります。

このステートメントを明示的にpomに追加する必要があります。

<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

6
Zzirconium

私の場合、私は

<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>ノードにプラグインを追加する必要がありました。そのときだけ、新しい新しいバージョンが使用されていました。

多分これは誰かを助ける。

1
Christian

最近、DoctorにSonorqube.5.12イメージをインストールし、プロジェクトをSonorqubeにプッシュします。最初はmajor.minorバージョン52.のようなMavenコンソールエラーに直面していました。

後で、私のために以下の手順で修正されました。

このプラグインをmavenに追加します。

  <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>sonar-maven-plugin</artifactId>
            <version>2.6</version>
        </plugin>
        <plugin>
            <groupId>org.Apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.Apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
        </plugin>
    </plugins>

次に、デフォルトのDBセットアップを〜/ .m2/settings.xmlファイルに追加します

 <profile>
    <id>sonar</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <sonar.jdbc.url>jdbc:h2:tcp://localhost:9092/sonar</sonar.jdbc.url>
            <sonar.Host.url>http://localhost:9000</sonar.Host.url>
            <sonar.jdbc.username>sonar</sonar.jdbc.username>
            <sonar.jdbc.password>sonar</sonar.jdbc.password>
            <sonar.pdf.username>admin</sonar.pdf.username>
            <sonar.pdf.password>admin</sonar.pdf.password>
        </properties>
    </profile>
0
Ajay Kumar