18

私は以下を使用してアプリに取り組んでいます:

jetty-maven-plugin:9.3.2.v20150730
tomcat-jdbc:8.0.8 (依存関係として tomcat-juli を持つ)

tomcat-jdbc jar を 8.0.9 以降の任意のバージョンにアップグレードしようとすると、次のエラーが発生します。

java.util.ServiceConfigurationError: org.apache.juli.logging.Log: プロバイダー org.eclipse.jetty.apache.jsp.JuliLog はサブタイプではありません

これら 2 つのバージョン間の変更ログを見ると、疑わしいものを見つけました。

「単純な ServiceLoader ベースの検出メカニズムを JULI LogFactory に追加して、JULI および JULI に依存する Tomcat コンポーネント (Jasper など) を Tomcat から独立して簡単に使用できるようにします。Greg Wilkins が提供するパッチ (markt)」

また、Apache Tomcat JDBC 接続プールに新しいシステム プロパティが導入されたこともわかりました。

org.apache.tomcat.jdbc.pool.onlyAttemptCurrentClassLoader

「JDBC ドライバー、インターセプター、バリデーターなどの動的クラスのクラスロードを制御します。デフォルト値である false に設定すると、プールは最初に現在のローダー (つまり、プール クラスをロードしたクラス ローダー) を使用してロードを試みます。スレッド コンテキスト ローダーを使用した読み込みに失敗します。Apache Tomcat 8.0.8 以前との下位互換性を維持し、現在のローダーのみを試行する場合は、この値を true に設定します。設定されていない場合、デフォルト値は false です。"

残念ながら、このプロパティを使用して jetty:run でプラグインを開始しても問題は解決しませんでした。

どんな助けでも大歓迎です!ありがとう!

スタック トレースと依存関係ツリー:

のせいで:
java.util.ServiceConfigurationError: org.apache.juli.logging.Log: プロバイダー org.eclipse.jetty.apache.jsp.JuliLog はサブタイプではありません
    java.util.ServiceLoader.fail (ServiceLoader.java:239) で
    java.util.ServiceLoader.access$300 (ServiceLoader.java:185) で
    java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:376) で
    java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404) で
    java.util.ServiceLoader$1.next(ServiceLoader.java:480) で
    org.apache.juli.logging.LogFactory.(LogFactory.java:78) で
    org.apache.juli.logging.LogFactory.(LogFactory.java:66) で
    org.apache.tomcat.jdbc.pool.DataSourceFactory.(DataSourceFactory.java:58) で
    local.ristretto.persistence.datasource.mail.MailDataSourceConfiguration.dataSource (MailDataSourceConfiguration.java:31) で
    local.ristretto.persistence.datasource.mail.MailDataSourceConfiguration$$EnhancerBySpringCGLIB$$497970dd.CGLIB$dataSource$0() で
    local.ristretto.persistence.datasource.mail.MailDataSourceConfiguration$$EnhancerBySpringCGLIB$$497970dd$$FastClassBySpringCGLIB$$2ba2dde9.invoke() で
    org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) で
    org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:309) で
    local.ristretto.persistence.datasource.mail.MailDataSourceConfiguration$$EnhancerBySpringCGLIB$$497970dd.dataSource() で
    sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) で
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) で
    java.lang.reflect.Method.invoke(Method.java:497) で
    org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) で
    org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) で
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1119) で
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance (AbstractAutowireCapableBeanFactory.java:1014) で
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504) で
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) で
    org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) で
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) で
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) で
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) で
    org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1120) で
    org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1044) で
    org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:942) で
    org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:813) で
    org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741) で
    org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:464) で
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1119) で
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance (AbstractAutowireCapableBeanFactory.java:1014) で
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504) で
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) で
    org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) で
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) で
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) で
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) で
    org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:956) で
    org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:747) で
    org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:480) で
    org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:434) で
    org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) で
    org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) で
    org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized (ContextHandler.java:798) で
    org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized (ServletContextHandler.java:530) で
    org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:771) で
    org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:342) で
    org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1368) で
    org.eclipse.jetty.maven.plugin.JettyWebAppContext.startWebapp (JettyWebAppContext.java:320) で
    org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1335) で
    org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:735) で
    org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:259) で
    org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:511) で
    org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart (JettyWebAppContext.java:403) で
    org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:68) で
    org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)で
    org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) で
    org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) で
    org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:161) で
    org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:68) で
    org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)で
    org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) で
    org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) で
    org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:68) で
    org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)で
    org.eclipse.jetty.server.Server.start(Server.java:405) で
    org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:106) で
    org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) で
    org.eclipse.jetty.server.Server.doStart(Server.java:372) で
    org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:68) で
    org.eclipse.jetty.maven.plugin.AbstractJettyMojo.startJetty (AbstractJettyMojo.java:457) で
    org.eclipse.jetty.maven.plugin.AbstractJettyMojo.execute (AbstractJettyMojo.java:328) で
    org.eclipse.jetty.maven.plugin.JettyRunMojo.execute (JettyRunMojo.java:170) で
    org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:132) で
    org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208) で
    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:116) で
    org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:80) で
    org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) で
    org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:120) で
    org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:347) で
    org.apache.maven.DefaultMaven.execute (DefaultMaven.java:154) で
    org.apache.maven.cli.MavenCli.execute (MavenCli.java:582) で
    org.apache.maven.cli.MavenCli.doMain (MavenCli.java:214) で
    org.apache.maven.cli.MavenCli.main (MavenCli.java:158) で
    sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) で
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) で
    java.lang.reflect.Method.invoke(Method.java:497) で
    org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289) で
    org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229) で
    org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415) で
    org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356) で
    org.codehaus.classworlds.Launcher.main (Launcher.java:46) で
    sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) で
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) で
    java.lang.reflect.Method.invoke(Method.java:497) で
    com.intellij.rt.execution.application.AppMain.main (AppMain.java:140) で
[情報] | +- org.springframework.data:spring-data-jpa:jar:1.8.2.RELEASE:compile               
[情報] | | | +- org.springframework.data:spring-data-commons:jar:1.10.2.RELEASE:compile       
[情報] | | | +- org.springframework:spring-orm:jar:4.1.7.RELEASE:compile                      
[情報] | | | | | \- org.springframework:spring-jdbc:jar:4.1.7.RELEASE:compile                  
[情報] | | | +- org.springframework:spring-tx:jar:4.1.7.RELEASE:コンパイル                       
[情報] | | | \- org.aspectj:aspectjrt:jar:1.8.6:compile                                       
[情報] | +- org.postgresql:postgresql:jar:9.4-1202-jdbc42:コンパイル                            
[情報] | +- org.apache.tomcat:tomcat-jdbc:jar:8.0.9:compile                                 
[情報] | | | \- org.apache.tomcat:tomcat-juli:jar:8.0.9:compile                              
[情報] | +- org.hibernate:hibernate-entitymanager:jar:5.0.1.Final:compile                    
[情報] | | | +- org.jboss.logging:jboss-logging:jar:3.3.0.Final:compile                       
[情報] | | | +- org.hibernate:hibernate-core:jar:5.0.1.Final:compile                          
[情報] | | | | | +- antlr:antlr:jar:2.7.7:コンパイル                                              
[情報] | | | | | \- org.jboss:jandex:jar:1.2.2.Final:compile                                   
[情報] | | | +- dom4j:dom4j:jar:1.6.1:コンパイル                                                 
[情報] | | | | | \- xml-apis:xml-apis:jar:1.0.b2:compile                                       
[情報] | | | +- org.hibernate.common:hibernate-commons-annotations:jar:5.0.0.Final:compile    
[情報] | | | +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
[情報] | | | +- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1.1:compile             
[情報] | | | \- org.javassist:javassist:jar:3.18.1-GA:compile                                 
[情報] | \- com.fasterxml.jackson.core:jackson-databind:jar:2.6.1:compile                    
[情報] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.6.1:compile              
[情報] | \- com.fasterxml.jackson.core:jackson-core:jar:2.6.1:compile                     

[情報] | +- org.slf4j:jcl-over-slf4j:jar:1.7.12:コンパイル                                      
[情報] | +- org.slf4j:jul-to-slf4j:jar:1.7.12:compile                                        
[情報] | +- org.slf4j:log4j-over-slf4j:jar:1.7.12:コンパイル                                    
[情報] | +- org.slf4j:slf4j-api:jar:1.7.12:コンパイル                                           
[情報] | +- ch.qos.logback:logback-classic:jar:1.1.3:compile                                 
[情報] | | | \- ch.qos.logback:logback-core:jar:1.1.3:compile                                 
[情報] | +- org.wicketstuff:wicketstuff-logback:jar:6.20.0:compile                           
[情報] | +- org.apache.commons:commons-lang3:jar:3.4:compile                                 
[情報] | +- org.apache.commons:commons-collections4:jar:4.0:コンパイル                          
[情報] | +- commons-io:commons-io:jar:2.4:compile                                            
[情報] | +- commons-codec:commons-codec:jar:1.10:compile                                     
[情報] | +- commons-beanutils:commons-beanutils:jar:1.9.2:compile                            
[情報] | | | \- commons-collections:commons-collections:jar:3.2.1:compile                     
[情報] | \- com.google.guava:guava:jar:18.0:compile                                          
[情報] +- junit:junit:jar:4.12:test                                                           
[情報] | \- org.hamcrest:hamcrest-core:jar:1.3:test                                          
[情報] +- org.springframework:spring-test:jar:4.1.7.RELEASE:test                              
[情報] | \- org.springframework:spring-core:jar:4.1.7.RELEASE:compile                        
[情報] +- org.springframework:spring-web:jar:4.1.7.RELEASE:compile                            
[情報] | +- org.springframework:spring-aop:jar:4.1.7.RELEASE:compile                         
[情報] | | | \- aopalliance:aopalliance:jar:1.0:compile                                       
[情報] | +- org.springframework:spring-beans:jar:4.1.7.RELEASE:compile                       
[情報] | \- org.springframework:spring-context:jar:4.1.7.RELEASE:compile                     
[情報] | \- org.springframework:spring-expression:jar:4.1.7.RELEASE:compile               
[情報] \- javax:javaee-web-api:jar:7.0:provided
4

3 に答える 3