我已经在我的机器(1)上安装了Maven/Jacoco/Surefire插件的SonarQube,但是我想测试一个属于另一台机器(2)的项目,并在#1机器的服务器上获得结果。两者都已经安装了SonarQube。
因此,我尝试将#1计算机及其db的地址设置为主机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我从#2机器上运行mvn sonar:sonar,但是我得到了一个错误:
未能执行项目org.codehaus.mojo:sonar-maven-plugin:2.2:sonar (默认-cli)的错误:无法执行SonarQube分析:无法连接到数据库:无法加载JDBC驱动程序类'com.mysql.jdbc.Driver' ->帮助1
编辑:当Sonar只在#1机器上运行时,就会出现上面的错误消息。当它在两台机器上运行时,我知道:
错误未能在项目openbet上执行目标org.codehaus.mojo:sonar-maven-plugin:2.2:sonar (默认-cli)-共享_tcl-util:无法执行SonarQube分析:无法连接到数据库:无法创建PoolableConnectionFactory (通信链接失败错误)最后一次成功发送到服务器的数据包是0毫秒前。驱动程序尚未从服务器接收到任何数据包。):连接拒绝错误->帮助1
发布于 2014-01-06 15:40:08
服务器上没有sudo和MySQL
为mysql创建ssh隧道
ssh user@1_machine_address -L 9999:localhost:3306 -N使用telnet localhost 9999检查此配置。
配置本地声纳和maven连接到localhost:9999。
settings.xml
<sonar.jdbc.url>jdbc:mysql://localhost:9999/sonar</sonar.jdbc.url>
...
<sonar.host.url>http://localhost:9000</sonar.host.url>sonar.properties
sonar.jdbc.url=jdbc:mysql://localhost:9999/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true拒绝连接到MySQL
Maven声纳插件无法连接到您的数据库,请确保端口3306是开放的和可访问的。您可以使用命令来检查这个
telnet 1_machine_address 3306检查1_machine_address上的防火墙,需要这样的东西:
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT确保mysql配置为可从其他服务器访问。默认情况下不是。
/etc/mysql/my.cnf中的Mysql配置应该定义了从远程服务器或0.0.0.0访问的IP地址,例如:
bind-address = 0.0.0.0警告:--这是潜在的危险,确保您的安全!
无法加载JDBC驱动程序类“com.mysql.jdbc.Driver”
你确定mysql驱动程序在里面吗?
sonar/extensions/jdbc-driver/mysql/mysql-connector-java-5.1.26.jar 声纳又重新启动了?
https://stackoverflow.com/questions/20953323
复制相似问题