17-53-2014 12:53:31.817 INFO - 注册 com.citronium.fizionomizm.service.server.controllers.Root 作为根资源类
17-53-2014 12:53:31.820 INFO - 注册 com.citronium.fizionomizm.service.server.controllers.RecognizePath 作为根资源类
17-53-2014 12:53:31.822 信息 - 启动泽西岛应用程序,版本“泽西岛:1.18 11/22/2013 03:05 AM”
17-53-2014 12:53:31.929 错误 - 提供程序类(类 com.sun.jersey.server.impl.model.parameter.multivalued.JAXBStringReaderProviders$RootElementProvider)无法实例化。处理将继续,但该类将不会被使用
java.lang.IllegalArgumentException:参数类型不匹配
在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) ~[na:1.7.0_51]
在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) ~[na:1.7.0_51]
在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.7.0_51]
在 java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[na:1.7.0_51]
在 com.sun.jersey.core.spi.component.ComponentConstructor。getInstance(ComponentConstructor.java:210) ~[fizionomizm-service.jar:0.1]
在 com.sun.jersey.core.spi.component.ComponentConstructor.getInstance(ComponentConstructor.java:180) ~[fizionomizm-service.jar:0.1]
在 com.sun.jersey.core.spi.component.ProviderFactory。_getComponentProvider(ProviderFactory.java:166) [fizionomizm-service.jar:0.1]
在 com.sun.jersey.core.spi.component.ProviderFactory.getComponentProvider(ProviderFactory.java:137) [fizionomizm-service.jar:0.1]
在 com.sun.jersey.core.spi.component.ProviderServices.getComponent(ProviderServices.java:283) [fizionomizm-service.jar:0.1]
在 com.sun.jersey.core.spi.component.ProviderServices.getProvidersAndServices(ProviderServices.java:176) [fizionomizm-service.jar:0.1]
在 com.sun.jersey.server.impl.model.parameter.multivalued.StringReaderFactory.init(StringReaderFactory.java:60) [fizionomizm-service.jar:0.1]
在 com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1341) [fizionomizm-service.jar:0.1]
在 com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:180) [fizionomizm-service.jar:0.1]
在 com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:799) [fizionomizm-service.jar:0.1]
在 com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:795) [fizionomizm-service.jar:0.1]
在 com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193) [fizionomizm-service.jar:0.1]
在 com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795) [fizionomizm-service.jar:0.1]
在 com.sun.jersey.guice.spi.container.servlet.GuiceContainer.initiate(GuiceContainer.java:121) [fizionomizm-service.jar:0.1]
在 com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:321) [fizionomizm-service.jar:0.1]
在 com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605) [fizionomizm-service.jar:0.1]
在 com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207) [fizionomizm-service.jar:0.1]
在 com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:376) [fizionomizm-service.jar:0.1]
在 com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:559) [fizionomizm-service.jar:0.1]
在 javax.servlet.GenericServlet.init(GenericServlet.java:244) [fizionomizm-service.jar:0.1]
在 com.google.inject.servlet.ServletDefinition.init(ServletDefinition.java:119) [fizionomizm-service.jar:0.1]
在 com.google.inject.servlet.ManagedServletPipeline.init(ManagedServletPipeline.java:84) [fizionomizm-service.jar:0.1]
在 com.google.inject.servlet.ManagedFilterPipeline.initPipeline(ManagedFilterPipeline.java:104) [fizionomizm-service.jar:0.1]
在 com.google.inject.servlet.GuiceFilter.init(GuiceFilter.java:224) [fizionomizm-service.jar:0.1]
在 org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:137) [fizionomizm-service.jar:0.1]
在 org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:810) [fizionomizm-service.jar:0.1]
在 org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:288) [fizionomizm-service.jar:0.1]
在 org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:743) [fizionomizm-service.jar:0.1]
在 org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) [fizionomizm-service.jar:0.1]
在 org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:117) [fizionomizm-service.jar:0.1]
在 org.eclipse.jetty.server.Server.start(Server.java:355) [fizionomizm-service.jar:0.1]
在 org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:99) [fizionomizm-service.jar:0.1]
在 org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:60) [fizionomizm-service.jar:0.1]
在 org.eclipse.jetty.server.Server.doStart(Server.java:324) [fizionomizm-service.jar:0.1]
在 org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) [fizionomizm-service.jar:0.1]
在 com.citronium.fizionomizm.service.server.restserver.RESTServer.start(RESTServer.java:68) [fizionomizm-service.jar:0.1]
在 com.citronium.fizionomizm.service.Runner.main(Runner.java:19) [fizionomizm-service.jar:0.1]
17-53-2014 12:53:32.235 信息 - 将 com.citronium.fizionomizm.service.server.controllers.Root 绑定到范围为“Singleton”的 GuiceManagedComponentProvider
17-53-2014 12:53:32.249 信息 - 将 com.citronium.fizionomizm.service.server.controllers.RecognizePath 绑定到范围为“Singleton”的 GuiceManagedComponentProvider
17-53-2014 12:53:32.365 错误 - 已在资源和/或提供程序类中检测到以下错误和警告:
严重:缺少构造函数 public com.sun.jersey.server.impl.model.parameter.multivalued.JAXBStringReaderProviders$RootElementProvider(com.sun.jersey.spi.inject.Injectable,javax.ws.rs.ext.Providers) 的依赖项参数索引 0
严重:方法,public javax.ws.rs.core.Response com.citronium.fizionomizm.service.server.controllers.RecognizePath.upload(java.lang.String,java.lang.String) 抛出 java.io.IOException,带注释使用 POST 资源时,类 com.citronium.fizionomizm.service.server.controllers.RecognizePath 不会被识别为有效的资源方法。
严重:方法,public javax.ws.rs.core.Response com.citronium.fizionomizm.service.server.controllers.RecognizePath.analysis(java.lang.String,java.lang.String),用资源、类的 PUT 进行注释com.citronium.fizionomizm.service.server.controllers.RecognizePath 未被识别为有效的资源方法。
严重:方法,公共同步 javax.ws.rs.core.Response com.sun.jersey.server.impl.wadl.WadlResource.geExternalGramar(javax.ws.rs.core.UriInfo,java.lang.String),注释为资源(com.sun.jersey.server.impl.wadl.WadlResource 类)的 GET 未被识别为有效的资源方法。
严重:方法,公共同步 javax.ws.rs.core.Response com.sun.jersey.server.impl.wadl.WadlResource.getWadl(javax.ws.rs.core.Request,javax.ws.rs.core.UriInfo ,javax.ws.rs.ext.Providers),用资源 GET 注释,类 com.sun.jersey.server.impl.wadl.WadlResource,未被识别为有效的资源方法。
17-53-2014 12:53:32.375 错误 - 启动服务器时出错。
com.sun.jersey.spi.inject.Errors$ErrorMessagesException
在 com.sun.jersey.spi.inject.Errors.processErrorMessages(Errors.java:170)
在 com.sun.jersey.spi.inject.Errors.postProcess(Errors.java:136)
在 com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:199)
在 com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795)
在 com.sun.jersey.guice.spi.container.servlet.GuiceContainer.initiate(GuiceContainer.java:121)
在 com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:321)
在 com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605)
在 com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207)
在 com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:376)
在 com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:559)
在 javax.servlet.GenericServlet.init(GenericServlet.java:244)
在 com.google.inject.servlet.ServletDefinition.init(ServletDefinition.java:119)
在 com.google.inject.servlet.ManagedServletPipeline.init(ManagedServletPipeline.java:84)
在 com.google.inject.servlet.ManagedFilterPipeline.initPipeline(ManagedFilterPipeline.java:104)
在 com.google.inject.servlet.GuiceFilter.init(GuiceFilter.java:224)
在 org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:137)
在 org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:810)
在 org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:288)
在 org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:743)
在 org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69)
在 org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:117)
在 org.eclipse.jetty.server.Server.start(Server.java:355)
在 org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:99)
在 org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:60)
在 org.eclipse.jetty.server.Server.doStart(Server.java:324)
在 org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69)
在 com.citronium.fizionomizm.service.server.restserver.RESTServer.start(RESTServer.java:68)
在 com.citronium.fizionomizm.service.Runner.main(Runner.java:19)
从控制台启动 jar 时会出现此异常。如果从ide启动,效果很好。
我意识到这已经很旧了,但也许其他人会发现它很有用。
就我而言,这是由不同 Jersey 模块中的一些冲突服务条目引起的。文件在META-INF/services/
应该合并,但我的被覆盖了。
如果你使用maven shade插件,你可以使用ServicesResourceTransformer https://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html#ServicesResourceTransformer轻松合并服务条目。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)