8

我刚刚下载了 Sonar 3.2 并配置了 sonar.properties 文件以连接到我的本地 MySql 数据库。我启用了以下设置:

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 回答
6

看到 settings.xml 和 sonar.properties 文件中的属性“sonar.jdbc.url”是相同的。其次,在您尝试运行声纳服务器之前,按名称“声纳”创建一个模式。祝你好运

于 2013-07-14T13:42:42.190 回答
1

也许您不小心将“配置文件”部分粘贴到了 settings.xml 中的错误位置?一定要把它放在<profiles></profiles>标签之间。(我的一个同事偶然发现了一个类似的问题)

于 2012-09-13T20:20:02.590 回答
0

基于@Mark O'Connor 的回答:检查文件 settings.xml 是否在正确的路径中(/home/YOURUSER/.m2/ 或 MAVEN_HOME 环境变量)并且您从正确的用户运行它 - 当我运行 Sonar Maven Runner 时root 它不能设置 settings.xml 文件,因为我将它放在用户的主文件夹中。

于 2015-11-02T13:50:25.540 回答