[英]NoSuchMethodError when accessing web app resource on Tomcat server
在線搜索后,這是一個我無法找到答案的問題。 我的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)
有沒有人有任何想法或線索,為什么會發生這種情況會幫助我解決這個問題?
任何幫助非常感謝謝謝克里斯
我的猜測是你的類路徑中存在一些問題。 也許,您可能在類路徑或WEB-INF / lib中有兩個不同版本的jersey
您必須在WEB-INF/lib
文件夾中包含以下球衣罐
我相信這是由於“jersey-server”和“jersey-core”罐子之間的版本差異造成的(同樣要仔細檢查你不會在WEB-INF / lib文件夾中偶然發現那些不同罐子的重復差異版本)。
在我的情況下,我們已經碰到了我們的澤西 - 客戶端版本,這已經碰到了jersey-core版本(一個依賴項),或類似的東西,而我們調出了一個特定的(舊的)澤西服務器版本,從而導致不匹配(舊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失敗。
修復:讓它們全部匹配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.