要求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中具有以下配置文件:
根据{{3}}中的文档添加了<profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <sonar.host.url>https://sonarqube.myproject.com</sonar.host.url> </properties> </profile>
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?
提前致谢。
答案 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被嵌入,这不是必要的。