2014-11-18 2 views
0

WebLogic 10.2c를 사용하고 있습니다. jax-rs 리소스를 포함하는 webapp은 grizzley에서 잘 작동하지만 WebLogic에 http://docs.oracle.com/cd/E17904_01/web.1111/e13734/rest.htm에 따라 배포하면 NoClassDefFoundError이 아래와 같이 표시됩니다. 이상하게도이 클래스는 내 webapp에서 내 서블릿에서 수행 한 class.forName()을 통해 실제로로드 될 수 있습니다. 그래서, 어떻게 든 그 클래스는 저지 그 자체에 사용할 수 없게되었습니다. 문제를 해결하는 방법에 대한 아이디어가 있습니까? 저지를 공유 라이브러리로 사용하여 (따라서 내 .war 파일에 포함시키지 않음) 저지를 내 .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) 
+0

weblogic이 다른 jdk 버전을 사용합니까? 그렇다면 그 jdk의 클래스 부분은 lib 또는 rt 폴더를 보증합니까? – Abe

+0

당신의 전쟁은 어떻게 포장되어 있습니까? 공유 라이브러리로 설치하면 웹 응용 프로그램을 호스팅하는 서버를 대상으로 지정 했습니까? –

+0

이봐, 어떻게이 문제를 해결할 수 있니? – Marin

답변

3

프로젝트 청소. 톱 메뉴 - 프로젝트 - 깨끗한. 그런 다음 서버를 다시 시작하십시오. 이것은 나를 위해 일했습니다.