SonarQube尝试使用' org.h2.Driver'而是指定了MySql

时间:2015-07-13 18:06:48

标签: java mysql maven jdbc

要求mvn clean install sonar:sonar部署/安装从Machine Maven到Machine SonarQube的快照,它将把它存储在具有MySql数据库的Machine MySql中。 Machine MySql仅对Machine SonarQube可见。内部网可以看到机器SonarQube,Intranet中的每个人都可以访问它。 从Machine Maven运行mvn clean install sonar:sonar时,会发生以下错误:

  

[错误]无法执行目标   org.codehaus.mojo:sonar-maven-plugin:2.6:sonar(default-cli)on   project my-project:无法连接到数据库:无法加载JDBC   司机班' org.h2.Driver' - > [帮助1]

Machine Maven在〜/ .m2 / settings.xml中具有以下配置文件:

<profile>
    <id>sonar</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
        <sonar.host.url>https://sonarqube.myproject.com</sonar.host.url>
    </properties>
</profile>
根据{{​​3}}中的文档添加了

sonar-maven-plugin。

还添加了sonar-maven-plugin作为pom.xml的依赖项:

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

我知道here要求在maven设置声纳配置文件属性中指定jdbc驱动程序,网址,用户名和密码,我不想向其他人公开,所以这已在机器SonarQube conf / sonar.properties

有没有办法通过Machine SonarQube将这些快照解密/安装到Machine MySql运行&m; mvn clean install声纳:声纳&#39;来自Machine Maven?

提前致谢。

2 个答案:

答案 0 :(得分:1)

在这篇文章Sonar fails to connect to mySQL always tries jdbc:h2:tcp://localhost/sonar中,您的属性似乎未完成。

尝试将以下属性添加到maven设置文件〜/ .m2 / settings.xml 中的“声纳配置文件”中:

<profile>
  <id>sonar</id>
  <activation>
    <activeByDefault>true</activeByDefault>
  </activation>
  <properties>
    <sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar</sonar.jdbc.url>
    <sonar.jdbc.username>user_of_the_sonar_database</sonar.jdbc.username>
    <sonar.jdbc.password>password_of_the_userdatabase</sonar.jdbc.password>
    <sonar.host.url>http://localhost:9000</sonar.host.url>
  </properties>
</profile>

注意:您的<sonar.jdbc.url></sonar.jdbc.url>取决于您使用的数据库。

答案 1 :(得分:0)

要在jenkins中使用,必须在jenkins管理/ sonarQube服务器/高级设置中配置声纳插件设置 - &gt;像这样的DDBB URL

jdbc:mysql://localhost:3306/sonardb?useUnicode=true&characterEncoding=utf8
&rewriteBatchedStatements=true&useConfigs=maxPerformance

user=sonar
pwd =sonnar

适用于sonarQube 5.1或更低版本。在5.2或之前,DDBB被嵌入,这不是必要的。