在线搜索后,这是一个我无法找到答案的问题。 我的Web应用程序部署到tomcat服务器,我知道这一切都在作为index.jsp显示文本。但是当我尝试访问我已经创建的资源时应该打印出hello world,tomcat服务器会返回此消息
java.lang.NoSuchMethodError: com.sun.jersey.core.spi.component.ProviderServices.<init>(Lcom/sun/jersey/core/spi/factory/InjectableProviderFactory;Lcom/sun/jersey/core/spi/component/ProviderFactory;Ljava/util/Set;Ljava/util/Set;)V
com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:450)
com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:383)
com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:377)
com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:242)
com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:449)
com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:169)
com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:281)
com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:442)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Unknown Source)
有没有人有任何想法或线索可以帮助我解决这个问题?
任何帮助非常感谢 谢谢 克里斯
答案 0 :(得分:3)
我的猜测是你的类路径中存在一些问题。可能在类路径或WEB-INF / lib
中有两种不同版本的球衣答案 1 :(得分:2)
您必须将以下球衣罐包含在WEB-INF/lib
文件夹
答案 2 :(得分:0)
我认为这是由于&#34; jersey-server&#34;之间的版本差异造成的。和&#34; jersey-core&#34;罐子(也仔细检查你不会在你的WEB-INF / lib文件夹中偶然发现那些不同罐子的重复差异版本。)
在我的情况下,我们已经碰到了我们的泽西 - 客户端版本,它已经碰到了jersey-core版本(依赖项),或类似的东西,而我们调出了一个特定的(较旧的)泽西服务器版本,从而导致了mismatch(old jersey-server 1.0.2,new jersey-core 1.11)。
另外
SEVERE: The provider class, class com.sun.jersey.core.impl.provider.xml.XMLStreamReaderContextProvider, could not be instantiated
Caused by: java.lang.NullPointerException
at com.sun.jersey.core.impl.provider.xml.TransformerFactoryProvider.<init>(TransformerFactoryProvider.java:57)
... 44 more
我也这么认为。
此外,如果jersey-core为1.0.2且jersey-client为1.11,则ProviderServices失败。
修复:让它们全部匹配。