2016-10-06 2 views
0

埋め込みJettyサーブレットコンテナとJerseyを使用してSpring起動アプリケーションを起動できません。私はSpringブートバージョン1.4.1を使用しています。ここでSpring Boot + Jetty + Jerseyが起動しない: `FactoryDe​​scriptorsの作成はファクトリを最初の引数とする必要があります '

はエラーメッセージです:ここで

Creation of FactoryDescriptors must have Factory as a contract of the first argument

フルスタックトレースです:

org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Jetty servlet container 
    at org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainer.start(JettyEmbeddedServletContainer.java:143) ~[spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE] 
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:297) ~[spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE] 
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:145) ~[spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE] 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544) ~[spring-context-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE] 
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE] 
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE] 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE] 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1186) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE] 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1175) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE] 
    at com.example.MyApplication.main(MyApplication.java:14) [classes/:na] 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_40] 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_40] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_40] 
    at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_40] 
    at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-1.4.1.RELEASE.jar:1.4.1.RELEASE] 
Caused by: javax.servlet.ServletException: [email protected]==org.glassfish.jersey.servlet.ServletContainer,-1,false 
    at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:661) ~[jetty-servlet-9.3.11.v20160721.jar:9.3.11.v20160721] 
    at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:419) ~[jetty-servlet-9.3.11.v20160721.jar:9.3.11.v20160721] 
    at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:875) ~[jetty-servlet-9.3.11.v20160721.jar:9.3.11.v20160721] 
    at org.springframework.boot.context.embedded.jetty.JettyEmbeddedWebAppContext$JettyEmbeddedServletHandler.deferredInitialize(JettyEmbeddedWebAppContext.java:46) ~[spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE] 
    at org.springframework.boot.context.embedded.jetty.JettyEmbeddedWebAppContext.deferredInitialize(JettyEmbeddedWebAppContext.java:36) ~[spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE] 
    at org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainer.handleDeferredInitialize(JettyEmbeddedServletContainer.java:186) ~[spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE] 
    at org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainer.start(JettyEmbeddedServletContainer.java:121) ~[spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE] 
    ... 15 common frames omitted 
Caused by: java.lang.IllegalArgumentException: Creation of FactoryDescriptors must have Factory as a contract of the first argument 
    at org.glassfish.hk2.utilities.FactoryDescriptorsImpl.<init>(FactoryDescriptorsImpl.java:78) ~[hk2-api-2.5.0-b05.jar:na] 
    at org.glassfish.hk2.utilities.binding.AbstractBindingBuilder$FactoryTypeBasedBindingBuilder.complete(AbstractBindingBuilder.java:454) ~[hk2-api-2.5.0-b05.jar:na] 
    at org.glassfish.hk2.utilities.binding.AbstractBinder.resetBuilder(AbstractBinder.java:180) ~[hk2-api-2.5.0-b05.jar:na] 
    at org.glassfish.hk2.utilities.binding.AbstractBinder.complete(AbstractBinder.java:190) ~[hk2-api-2.5.0-b05.jar:na] 
    at org.glassfish.hk2.utilities.binding.AbstractBinder.bind(AbstractBinder.java:174) ~[hk2-api-2.5.0-b05.jar:na] 
    at org.glassfish.jersey.model.internal.CommonConfig.configureBinders(CommonConfig.java:676) ~[jersey-common-2.23.2.jar:na] 
    at org.glassfish.jersey.model.internal.CommonConfig.configureMetaProviders(CommonConfig.java:654) ~[jersey-common-2.23.2.jar:na] 
    at org.glassfish.jersey.server.ResourceConfig.configureMetaProviders(ResourceConfig.java:829) ~[jersey-server-2.23.2.jar:na] 
    at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:453) ~[jersey-server-2.23.2.jar:na] 
    at org.glassfish.jersey.server.ApplicationHandler.access$500(ApplicationHandler.java:184) ~[jersey-server-2.23.2.jar:na] 
    at org.glassfish.jersey.server.ApplicationHandler$3.call(ApplicationHandler.java:350) ~[jersey-server-2.23.2.jar:na] 
    at org.glassfish.jersey.server.ApplicationHandler$3.call(ApplicationHandler.java:347) ~[jersey-server-2.23.2.jar:na] 
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315) ~[jersey-common-2.23.2.jar:na] 
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297) ~[jersey-common-2.23.2.jar:na] 
    at org.glassfish.jersey.internal.Errors.processWithException(Errors.java:255) ~[jersey-common-2.23.2.jar:na] 
    at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:347) ~[jersey-server-2.23.2.jar:na] 
    at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:392) ~[jersey-container-servlet-core-2.23.2.jar:na] 
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:177) ~[jersey-container-servlet-core-2.23.2.jar:na] 
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:369) ~[jersey-container-servlet-core-2.23.2.jar:na] 
    at javax.servlet.GenericServlet.init(GenericServlet.java:244) ~[javax.servlet-api-3.1.0.jar:3.1.0] 
    at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:640) ~[jetty-servlet-9.3.11.v20160721.jar:9.3.11.v20160721] 
    ... 21 common frames omitted 

答えて

0

私はバージョン2.5.0-b22にHK2をアップグレードすることによって、これを解決しました。

関連する問題