Używam WebLogic 10.2c. Moja aplikacja internetowa zawierająca zasób jax-rs działa dobrze w grizzley, ale po wdrożeniu w WebLogic zgodnie z http://docs.oracle.com/cd/E17904_01/web.1111/e13734/rest.htm, rzuca a NoClassDefFoundError
jak pokazano niżej. Dziwne jest to, że ta klasa rzeczywiście może zostać załadowana przez moją aplikację internetową za pomocą class.forName () wykonanej w moim serwlecie. Więc jakoś ta klasa stała się niedostępna dla samej koszulki. Masz pomysł, jak rozwiązać problem? Próbowałem używać jersey jako biblioteki współdzielonej (a zatem nie włączać go do mojego pliku .war) i włączać jersey do mojego pliku .war. Obydwie mają jakąkolwiek różnicę.
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)
Odpowiedzi:
3 dla odpowiedzi № 1Czyszczenie projektu. Górne menu - Projekt -> czysty. następnie zrestartuj serwer. To zadziałało dla mnie.