【发布时间】:2013-07-22 10:14:03
【问题描述】:
我正在使用 maven 的 sonar:sonar 目标在我的 Jenkins 工作中生成 Sonar 报告。
我的 Jenkins 主机名是:jenhost.tst.com,我的声纳主机是 sonhost.tst.com,我的声纳 jdbc url 是:jdbc:mysql://sonhost.tst.com:3306/sonar,这个数据库有使用适当权限创建的用户名声纳。
现在在运行 Maven 目标时,我收到了错误:
无法打开与数据库的连接:用户 'sonar'@jenhost.tst.xxxx.com' 的访问被拒绝(使用密码:YES)
上述错误中的奇怪之处在于声纳用户试图以数据库名称而不是声纳主机访问我的 Jenkins 主机。
我检查了我的 Maven settings.xml,Sonar 的数据库 URL 在那里正确提及,并且在 Jenkins 中也正确提及。
有人知道这件事吗?
【问题讨论】:
-
嗨,我重新检查了我的 sonarhost 上的 sonar.properties 文件,它看起来不错:
sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8 sonar.jdbc.driverClassName: com.mysql.jdbc.Driver sonar.jdbc.validationQuery: select 1