[英]How to resolve conflicting Path.class between jsr311-api and jersey-core?
[英]NoClassDefFoundError on a class provided by jersey-core (UriComponent$Type)
我正在使用WebLogic 10.2c。 我的包含jax-rs資源的web應用程序在grizzley上運行良好,但是當根據http://docs.oracle.com/cd/E17904_01/web.1111/e13734/rest.htm將其部署到WebLogic時,它將引發NoClassDefFoundError
如下所示。 奇怪的是,此類確實可以由我的web應用程序通過在我的servlet中完成的class.forName()加載。 因此,某種程度上,球衣本身已經無法使用該類。 關於如何解決問題的任何想法? 我嘗試使用jersey作為共享庫(因此不包括到我的.war文件中),而將jersey包括到我的.war文件中。 兩者都沒有任何區別。
Error 500--Internal Server Error
java.lang.NoClassDefFoundError: com/sun/jersey/api/uri/UriComponent$Type
at com.sun.jersey.api.uri.UriBuilderImpl.appendPath(UriBuilderImpl.java:497)
at com.sun.jersey.api.uri.UriBuilderImpl.appendPath(UriBuilderImpl.java:485)
at com.sun.jersey.api.uri.UriBuilderImpl.replacePath(UriBuilderImpl.java:244)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:687)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:242)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:216)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:132)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:352)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:235)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3284)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3254)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2163)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2089)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2074)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1512)
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
清理項目。 頂部菜單- 項目->干凈。 然后重新啟動服務器。 這對我有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.