【发布时间】:2014-01-24 01:19:15
【问题描述】:
我已经在我的机器上安装了 (1) SonarQube 和 Maven/Jacoco/Surefire 插件, 但我想测试一个属于另一台机器的项目(2)并得到结果 在#1 机器的服务器上。两者都已设置 SonarQube。
所以,我尝试将 #1 机器的地址及其数据库设置为主机 url:
#2机器的设置:
settings.xml:
<sonar.jdbc.url>jdbc:mysql://<#1_machine_address>:3306/sonar</sonar.jdbc.url
<sonar.jdbc.driverClassName>com.mysql.jdbc.Driver</sonar.jdbc.driverClassName
<sonar.jdbc.username>sonar</sonar.jdbc.username> <sonar.jdbc.password>sonar</sonar.jdbc.password>
<sonar.host.url>http://<#1_machine_address>:9000</sonar.host.url>
sonar/conf/sonar.properties:
sonar.jdbc.url=jdbc:mysql://<#1_machine_address>:3306/sonar
#1机器上的设置:
settings.xml:
<sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar</sonar.jdbc.url>
<sonar.jdbc.username>sonar</sonar.jdbc.username>
<sonar.jdbc.password>sonar</sonar.jdbc.password>
<sonar.host.url>http://localhost:9000</sonar.host.url>
sonar.properties:
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
>
我跑
mvn sonar:sonar
来自 #2 机器,但出现错误:
[ERROR] 未能执行目标 org.codehaus.mojo:sonar-maven-plugin:2.2:sonar (default-cli) on 项目 openbet-shared_tcl-util:无法执行 SonarQube 分析: 连接数据库失败:无法加载JDBC驱动类 'com.mysql.jdbc.Driver' -> [帮助1]
编辑: 当 Sonar 仅在 #1machine 上运行时,会出现上述错误消息。 当它在两台机器上运行时,我得到了这个:
[ERROR] 未能执行目标 org.codehaus.mojo:sonar-maven-plugin:2.2:sonar (default-cli) on 项目 openbet-shared_tcl-util:无法执行 SonarQube 分析: 连接数据库失败:无法创建 PoolableConnectionFactory (通讯链路故障 [ERROR] [ERROR] 最后发送的数据包 成功到服务器是 0 毫秒前。司机没有 收到来自服务器的任何数据包。):连接被拒绝 [ERROR] -> [帮助1]
【问题讨论】:
-
在 2 号机器上拥有 SonarQube 服务器是没有用的。你能把它删掉吗?此外,两个不同的 SonarQube 服务器不能指向同一个数据库。
-
在没有声纳服务器的情况下是否可以运行 mvn sonar:sonar?如果他们不能像你说的那样指向同一个数据库,我还能做些什么呢?
标签: maven configuration sonarqube