我快要疯了。
我在 windows 7 64 位上,使用最新的 SonarQube 和 runner 2.3。
我在 9000 端口上运行 SonarQube。
当我尝试运行 sonar-runner.bat 时,我得到:
C:\myRoot\SonarQube\SonarQubeRunner\sonar-runner-dist-2.3\sonar-runner-2.3
SonarQube Runner 2.3
Java 1.7.0_45 Oracle Corporation (64-bit)
Windows 7 6.1 amd64
INFO: Runner configuration file: C:\myRoot\SonarQube\SonarQubeRunner\sonar-runner-dist-2.3\sonar-runner-2.3\conf\sonar-runner.properties
INFO: Project configuration file: NONE
INFO: Default locale: "en_US", source code encoding: "windows-1252" (analysis is platform dependent)
INFO: Work directory: C:\myRoot\SonarQube\sonar_examples\sonar-examples-master\projects\languages\php\php-sonar-runner\src\.sonar
INFO: SonarQube Server 4.0
14:18:52.103 INFO - Load batch settings
14:18:52.196 INFO - User cache: C:\Users\myName\.sonar\cache
14:18:52.212 INFO - Install plugins
14:18:52.602 INFO - Install JDBC driver
14:18:52.602 INFO - Create JDBC datasource for jdbc:mysql://localhost:3306/sonar
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 1.700s
Final Memory: 4M/74M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
ERROR: Unable to execute Sonar
ERROR: Caused by: Fail to connect to database
ERROR: Caused by: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
ERROR: Caused by: com.mysql.jdbc.Driver
ERROR:
ERROR: To see the full stack trace of the errors, re-run SonarQube Runner with the -e switch.
ERROR: Re-run SonarQube Runner using the -X switch to enable full debug logging.
当我收集调试信息时,我得到:
yadda, yadda ...
... 32 more
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1420)
... 37 more
我有一个名为 mysql-connector-java-5.1.26.jar 的文件:
C:\myRoot\SonarQube\sonarqube-4.0\sonarqube-4.0\extensions\jdbc-driver\mysql
我不明白为什么找不到它。
我的 .properities 文件相当简单。
如有任何建议,我们将不胜感激。
感谢阅读。
最佳答案
我在使用 Linux Mint Debian Edition 的 Jenkins 设置中收到了相同的错误消息。我使用的是 SonarQube Runner 2.3 和 SonarQube Server 4.1.1
ERROR: Unable to execute SonarERROR: Caused by: Fail to connect to database
ERROR: Caused by: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
ERROR: Caused by: com.mysql.jdbc.Driver
Here我读到重新启动 SonarQube 服务器,这为我解决了这个问题。
我知道这很微不足道,但在我的案例中仅此而已,而且很容易忽略这些小事。
关于java - Sonar 赛跑者 : Windows 7 : Throwing error against jdbc on start,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21004852/