状況
MySQLデータベース、jenkins、およびmavenを使用したビルド環境でソナーを実行しています。
問題
jenkinsジョブを実行すると、次のメッセージで中止されます。
[エラー]プロジェクトplayground_ebでゴールorg.codehaus.mojo:sonar-maven-plugin:2.0:sonar(default-cli)を実行できませんでした:Sonarを実行できません:データベースに接続できません:クラス'comのJDBCドライバーを作成できません接続URLの.mysql.jdbc.Driver'http://192.168.1.220:3306':適切なドライバーがありません
構成
サーバー
192.168.1.220(Debian 6.0.6):
-Jenkins(@ポート8080)を実行します-Sonar
(@ポート9000)
-MySQLデータベース(@ポート3306)
192.168.1.221(Windows 7):
-Mavenとビルド環境全体を実行します
構成
データベースは、sonar.propertiesファイルでローカルホストを使用して構成されました。Sonarとそのデータベースは、jenkinsWebインターフェイスを介してIPを使用して構成されました。これによりエラーが発生する可能性があると思いますが、sonar.propertiesファイルでIPを構成すると、sonarが起動しなくなります。
完全な例外スタック
org.apache.maven.lifecycle.LifecycleExecutionException:プロジェクトplayground_ebで目標org.codehaus.mojo:sonar-maven-plugin:2.0:sonar(default-cli)を実行できませんでした:Sonarを実行できません org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)で org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)で org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)で org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)で org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)で org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)で org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)で org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)で org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)で org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)で org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)で org.apache.maven.cli.MavenCli.main(MavenCli.java:141)で sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)で sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)で java.lang.reflect.Method.invoke(Method.java:601)で org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)で org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)で org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)で org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)で 原因:org.apache.maven.plugin.MojoExecutionException:Sonarを実行できません org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:118)で org.codehaus.mojo.sonar.Bootstraper.start(Bootstraper.java:65)で org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:90)で org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)で org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)で ...19もっと 原因:java.lang.IllegalStateException:データベースへの接続に失敗しました org.sonar.core.persistence.DefaultDatabase.start(DefaultDatabase.java:74)で sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)で sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)で java.lang.reflect.Method.invoke(Method.java:601)で org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:110)で org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89)で org.picocontainer.injectors.AbstractInjectionFactory $ LifecycleAdapter.start(AbstractInjectionFactory.java:84)で org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169)で org.picocontainer.behaviors.Stored $ RealComponentLifecycle.start(Stored.java:132)で org.picocontainer.behaviors.Stored.start(Stored.java:110)で org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:1009)で org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1002)で org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:760)で org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:72)で org.sonar.batch.bootstrap.Module.start(Module.java:67)で org.sonar.batch.bootstrap.BootstrapModule.doStart(BootstrapModule.java:83)で org.sonar.batch.bootstrap.Module.start(Module.java:68)で org.sonar.batch.bootstrapper.Batch.startBatch(Batch.java:75)で org.sonar.batch.bootstrapper.Batch.execute(Batch.java:60)で org.sonar.maven3.SonarMojo.execute(SonarMojo.java:142)で org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:113)で ...23もっと 原因:org.apache.commons.dbcp.SQLNestedException:接続URL「http://192.168.1.220:3306」のクラス「com.mysql.jdbc.Driver」のJDBCドライバーを作成できません org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1452)で org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371)で org.apache.commons.dbcp.BasicDataSource.getLogWriter(BasicDataSource.java:1098)で org.apache.commons.dbcp.BasicDataSourceFactory.createDataSource(BasicDataSourceFactory.java:350)で org.sonar.core.persistence.DefaultDatabase.initDatasource(DefaultDatabase.java:131)で org.sonar.core.persistence.DefaultDatabase.start(DefaultDatabase.java:68)で ...44もっと 原因:java.sql.SQLException:適切なドライバーがありません org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1443)で ...49もっと