8

Sonar 3.2 をダウンロードし、ローカルの MySql データベースに接続するように sonar.properties ファイルを構成しました。次の設定を有効にしています。

sonar.jdbc.url:   jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
sonar.jdbc.driverClassName:   com.mysql.jdbc.Driver

エラーなしでサーバーを起動でき、Sonar インターフェイスにログインできますが、Maven プロジェクトで「mvn sonar:sonar」を実行すると、次のエラーが発生します。

[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.0:sonar (default-cli) on project vrservices: Can not execute Sonar: Fail to connect to database: Cannot load JDBC driver class 'org.h2.Driver' -> [Help 1]

次のコードをsettings.xmlファイルに入れるように言っているフォーラムをいくつか読みましたが、それでも問題は解決しませんでした。

  <profile>
      <id>sonar</id>
      <activation>
          <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
          <!-- EXAMPLE FOR MYSQL -->
          <sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar?useUnicode=true&amp;characterEncoding=utf8</sonar.jdbc.url>
          <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>
          <sonar.jdbc.username>root</sonar.jdbc.username>
          <sonar.jdbc.password></sonar.jdbc.password>
      </properties>
  </profile>

誰かがこの問題に遭遇したかどうか疑問に思っていました。もしそうなら、どのように修正しましたか?

前もって感謝します!

4

4 に答える 4

7

Maven Sonar プラグインを構成しない場合、Sonar に同梱されている組み込みデータベースのデフォルトの場所に接続しようとします。バージョン 3.2 以降、デフォルトの組み込みデータベースは H2 (derby に代わるもの) です。

フォーラムの推奨事項は正しいです。Maven インスタンスが正しい設定ファイルをロードしていないと思われます。次のように Maven を実行してみてください。

mvn -s /path/to/settings/file/setting.xml sonar:sonar
于 2012-09-10T18:38:20.883 に答える
1

誤って「プロファイル」部分を settings.xml の間違った場所に貼り付けたのではないでしょうか? 必ず<profiles></profiles>タグの間に入れてください。(私の同僚が同様の問題についてつまずいたところです)

于 2012-09-13T20:20:02.590 に答える