首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从另一台机器运行声纳

从另一台机器运行声纳
EN

Stack Overflow用户
提问于 2014-01-06 15:31:40
回答 1查看 5.4K关注 0票数 1

我已经在我的机器(1)上安装了Maven/Jacoco/Surefire插件的SonarQube,但是我想测试一个属于另一台机器(2)的项目,并在#1机器的服务器上获得结果。两者都已经安装了SonarQube。

因此,我尝试将#1计算机及其db的地址设置为主机url:

#2计算机的设置:

settings.xml:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
sonar.jdbc.url=jdbc:mysql://<#1_machine_address>:3306/sonar

#1机器上的设置:

settings.xml:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-06 15:40:08

服务器上没有sudo和MySQL

为mysql创建ssh隧道

代码语言:javascript
复制
ssh user@1_machine_address -L 9999:localhost:3306 -N

使用telnet localhost 9999检查此配置。

配置本地声纳和maven连接到localhost:9999

settings.xml

代码语言:javascript
复制
<sonar.jdbc.url>jdbc:mysql://localhost:9999/sonar</sonar.jdbc.url>
...
<sonar.host.url>http://localhost:9000</sonar.host.url>

sonar.properties

代码语言:javascript
复制
sonar.jdbc.url=jdbc:mysql://localhost:9999/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true

拒绝连接到MySQL

Maven声纳插件无法连接到您的数据库,请确保端口3306是开放的和可访问的。您可以使用命令来检查这个

代码语言:javascript
复制
telnet 1_machine_address 3306

检查1_machine_address上的防火墙,需要这样的东西:

代码语言:javascript
复制
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT

确保mysql配置为可从其他服务器访问。默认情况下不是。

/etc/mysql/my.cnf中的Mysql配置应该定义了从远程服务器或0.0.0.0访问的IP地址,例如:

代码语言:javascript
复制
bind-address        = 0.0.0.0

警告:--这是潜在的危险,确保您的安全!

无法加载JDBC驱动程序类“com.mysql.jdbc.Driver”

你确定mysql驱动程序在里面吗?

代码语言:javascript
复制
sonar/extensions/jdbc-driver/mysql/mysql-connector-java-5.1.26.jar 

声纳又重新启动了?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20953323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档