正在从Maven运行Sonar:未找到SQL驱动程序
当我尝试启动mvn sonar:sonar时,我得到一个“未找到SQL驱动程序” sorImpl.java:25) 在java.lang.reflect.Method.invoke(Method.java:597)正在从Maven运行Sonar:未找到SQL驱动程序,maven,sonarqube,Maven,Sonarqube,当我尝试启动mvn sonar:sonar时,我得到一个“未找到SQL驱动程序” sorImpl.java:25) 在java.lang.reflect.Method.invoke(Method.java:597) 位于org.picocontainer.lifecycle.reflectionLifecycle.invokeMethod(reflectionLifecycleTegy.java:110) ... 30多个 原因:java.sql.SQLException:找不到sql驱动程序o
位于org.picocontainer.lifecycle.reflectionLifecycle.invokeMethod(reflectionLifecycleTegy.java:110)
... 30多个
原因:java.sql.SQLException:找不到sql驱动程序org.h2.driver 位于org.sonar.api.database.DriverDatabaseConnector.getConnection(DriverDatabaseConnector.java:87)
位于org.sonar.api.database.AbstractDatabaseConnector.testConnection(Abstr actDatabaseConnector.java:178)
... 36更多
原因:java.lang.ClassNotFoundException:org.h2.Driver 位于java.net.URLClassLoader$1.run(URLClassLoader.java:202) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.net.URLClassLoader.findClass(URLClassLoader.java:190) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:306) 位于java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:627) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:247) 位于org.sonar.api.database.DriverDatabaseConnector.getConnection(DriverDa tabaseConnector.java:83)
... 37多 有人知道原因和/或解决方案吗 更新: Sonar.properties是默认值,正如
Maven设置
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.jdbc.driverClassName>org.h2.Driver</sonar.jdbc.driverClassName>
<sonar.jdbc.url>jdbc:h2:tcp://localhost:9092/sonar</sonar.jdbc.url>
<!-- optional URL to server. Default value is http://localhost:9000 -->
<sonar.host.url>
http://localhost:9000
</sonar.host.url>
</properties>
</profile>
声纳
真的
org.h2.Driver
jdbc:h2:tcp://localhost:9092/sonar
http://localhost:9000
声纳不再使用德比。您应该安装较新版本的Sonar(如果可能的话,最新的3.5)并清理您的配置,主要是所有“Sonar.jdbc.*”属性。您可能需要使用依赖项版本来匹配(Sonar?)H2数据库,但请尝试将以下依赖项添加到POM中:
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.3.171</version>
<scope>test</scope>
</dependency>
com.h2数据库
氢
1.3.171
测试
这将使该类可供Sonar插件在构建过程中使用,但不包括在工件中。您的Sonar.properties
是什么样子的?请查看您应该配置settings.xml
文件,位于$MAVEN_HOME/conf
或~/.m2
您使用的是什么版本的声纳?你试过用mvn-X跑步吗?嘿,法布里斯,谢谢你的思考!问题在于版本3.5.1,一个干净的安装(我不知道为什么它仍然尝试使用Derby驱动程序,可能是一些父pom问题?)。但无论如何,如果我将设置更改为org.h2.Driver,问题仍然存在…谢谢。但仍然“由:java.lang.ClassNotFoundException:org.h2.Driver引起”。奇怪的是,当我运行独立的Sonar Runner时,它确实可以工作,所以H2本身就可以正常工作。