【发布时间】:2015-09-16 23:55:21
【问题描述】:
MySQL 版本:5.6.25(64 位 Linux)。蚂蚁版本:1.9.5。声纳库版本:5.1.1。 当我运行我的 ant 脚本时,我遇到了权限问题。比如:
org.sonar.runner.impl.RunnerException:无法执行声纳 ... .. 由 java.lang.IllegalStateException 引起:连接数据库失败.... ...由 org.apache.dbcp.SQLNestedException 引起:无法创建 PoolableConnectionFactory(用户 'sonarqube'@'localhost' 的访问被拒绝(使用密码:YES))
在昨天下午花了谷歌搜索并尝试以 root 身份登录 MySQL 并为我的 sonarqube 用户调用 GRANT ALL 等等等等之后,我完全不知道下一步该尝试什么。我偶然发现了这个帖子: http://sonarqube.15.x6.nabble.com/com-mysql-jdbc-Driver-is-not-found-td5012081.html,特别是这个位:
"Sonar 使用其内置驱动程序,位于 /home/jenkins/sonar-3.5.1/extensions/jdbc-driver/mysql/ 文件 mysql-connector-java-5.1.18.jar 存在,可读并包含 Driver.class 文件。”
我在这个位置没有连接器 jar 文件(实际上我在扩展目录中的唯一文件夹是“oracle”)。我应该有一个吗?就 sonarqube 文档而言,我不必配置 MySQL 以使用其他地方的任何额外驱动程序。
提前非常感谢。如果需要,我可以粘贴部分 Ant 脚本,但这看起来更像是数据库权限问题。 干杯, 汤姆
【问题讨论】:
-
编辑:我刚刚在异常堆栈跟踪中的“无法连接到数据库”下注意到:“在 org.sonar.core.persistence.DefaultDatabase.start(DefaultDatabase.java:77 )”。这是否意味着它仍在尝试使用默认 H2 DB 的某些部分?我已经从我的 sonar.properties 文件中删除了所有对此的引用,所以现在我更加困惑了 :)
-
您可以在 export "ANT_LIB=/path-till-ant/apache-ant-1.9.4/lib" 之类的导出后尝试
-
感谢您的回复。我已经为ant设置了一个环境变量。不过谢谢你:)