2013-05-02 56 views
2

我收到以下錯誤不斷堆棧跟蹤如下工作: 配置聲納與MySQL

[sonar:sonar] 15:17:35.181 INFO  o.s.c.p.Database - Create JDBC datasource for jdbc:mysql://clbblr-6301:3306/sonar 

BUILD FAILED 
E:\DEV_JBOSS7\build.xml:252: org.sonar.runner.RunnerException: org.picocontainer.PicoLifecycleException: PicoLifecycleException: method 'public final org.sonar.core.persistence.DefaultDatabase org.sonar.core.persistence.DefaultDatabase.start()', instance 'Database[jdbc:mysql://clbblr-6301:3306/sonar], java.lang.RuntimeException: wrapper 
     at org.sonar.runner.Runner.delegateExecution(Runner.java:288) 
     at org.sonar.runner.Runner.execute(Runner.java:151) 
     at org.sonar.ant.SonarTask.launchAnalysis(SonarTask.java:93) 
     at org.sonar.ant.SonarTask.execute(SonarTask.java:75) 
     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 
     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:601) 
     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
     at org.apache.tools.ant.Task.perform(Task.java:348) 
     at org.apache.tools.ant.Target.execute(Target.java:390) 
     at org.apache.tools.ant.Target.performTasks(Target.java:411) 
     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) 
     at org.apache.tools.ant.Project.executeTarget(Project.java:1368) 
     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
     at org.apache.tools.ant.Project.executeTargets(Project.java:1251) 
     at org.apache.tools.ant.Main.runBuild(Main.java:809) 
     at org.apache.tools.ant.Main.startAnt(Main.java:217) 
     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) 
     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) 
Caused by: org.picocontainer.PicoLifecycleException: PicoLifecycleException: method 'public final org.sonar.core.persistence.DefaultDatabase org.sonar.core.persistence.DefaultDatabase.start()', instance 'Database[jdbc:mysql://clbblr-6301:3306/sonar], java.lang.RuntimeException: wrapper 
     at org.picocontainer.monitors.NullComponentMonitor.lifecycleInvocationFailed(NullComponentMonitor.java:77) 
     at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.monitorAndThrowReflectionLifecycleException(ReflectionLifecycleStrategy.java:132) 
     at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:115) 
     at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89) 
     at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84) 
     at org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169) 
     at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132) 
     at org.picocontainer.behaviors.Stored.start(Stored.java:110) 
     at org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:1009) 
     at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1002) 
     at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:760) 
     at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:72) 
     at org.sonar.batch.bootstrap.Container.start(Container.java:71) 
     at org.sonar.batch.bootstrap.TaskBootstrapContainer.executeTask(TaskBootstrapContainer.java:73) 
     at org.sonar.batch.bootstrap.TaskBootstrapContainer.doStart(TaskBootstrapContainer.java:62) 
     at org.sonar.batch.bootstrap.Container.start(Container.java:72) 
     at org.sonar.batch.bootstrap.BootstrapContainer.doStart(BootstrapContainer.java:104) 
     at org.sonar.batch.bootstrap.Container.start(Container.java:72) 
     at org.sonar.batch.Batch.execute(Batch.java:106) 
     at org.sonar.runner.internal.batch.Launcher.executeBatch(Launcher.java:69) 
     at org.sonar.runner.internal.batch.Launcher.execute(Launcher.java:61) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:601) 
     at org.sonar.runner.Runner.delegateExecution(Runner.java:285) 
     ... 19 more 
Caused by: java.lang.RuntimeException: wrapper 
     at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.monitorAndThrowReflectionLifecycleException(ReflectionLifecycleStrategy.java:130) 
     ... 43 more 
Caused by: java.lang.IllegalStateException: Fail to connect to database 
     at org.sonar.core.persistence.DefaultDatabase.start(DefaultDatabase.java:74) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:601) 
     at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:110) 
     ... 42 more 
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver' 
     at org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1429) 
     at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371) 
     at org.apache.commons.dbcp.BasicDataSource.getLogWriter(BasicDataSource.java:1098) 
     at org.apache.commons.dbcp.BasicDataSourceFactory.createDataSource(BasicDataSourceFactory.java:350) 
     at org.sonar.core.persistence.DefaultDatabase.initDatasource(DefaultDatabase.java:131) 
     at org.sonar.core.persistence.DefaultDatabase.start(DefaultDatabase.java:68) 
     ... 47 more 
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
     at org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1420) 
     ... 52 more 

Total time: 8 minutes 57 seconds 

E:\DEV_JBOSS7> 

我已經加入了MySQL的JDBC連接器罐子到項目的類路徑中,對.sonar lib聲納在本地執行的位置以及託管服務器的服務器上的聲納庫。仍然得到相同的錯誤。

和下面是在build.xml屬性

<!-- Define the Sonar project properties --> 
    <property name="sonar.host.url" value="http://clbblr-6301:9000" /> 
    <property name="sonar.jdbc.driverClassName" value="com.mysql.jdbc.Driver"/> 
    <property name="sonar.jdbc.url" value="jdbc:mysql://clbblr-6301:3306/sonar" /> 
    <property name="sonar.jdbc.username" value="sonar" /> 
    <property name="sonar.jdbc.password" value="sonar" /> 
    <property name="sonar.profile" value="Sonar way with Findbugs" /> 
    <property name="sonar.projectKey" value="org.codehaus.sonar:PUMA_JBOSS7_GBS_ADHIR" /> 
    <property name="sonar.projectName" value="Simple Java Project analyzed with the Sonar Ant Task GBS - Adhir" /> 
    <property name="sonar.projectVersion" value="1.0" /> 
    <property name="sonar.language" value="java" /> 

任何幫助,請。

+0

當我在2012年12月安裝Sonar時,它不能與mySQL 5.6一起使用,但使用5.5。我不知道你的mysql版本,但如果你使用5.6嘗試5.5。 – 2014-12-17 22:03:46

回答

2

聲納服務器上的配置文件中的默認設置使用h2數據庫(本地文件系統數據庫)。所以當我們強迫它使用runner或ant任務連接到mysql時,它會給你一個衝突的消息。 修復修改文件中相應的屬性解決了問題。它也自動下載必要的連接器罐子,所以我們不需要放置任何罐子我們的自己。