2010-12-10 8 views
0

일부 코드를 편집하는 동안 개발자는 Weblogic 10.3.3에서 다시 컴파일 한 후에이 오류를 발견했습니다. 기본 객체는 DimensionLabel입니다. 그리고 우리는 Weblogic 9.2에서 이것을 시도했지만 아무런 예외없이 잘 작동합니다. 개발자는 단순히 SearchServiceProcessor DimensionLabel을 호출하는 클래스를 다시 컴파일하고 응용 프로그램을 다시 배포했습니다.다시 컴파일 한 후 WebLogic 10.3.3의 java.lang.ClassCastException

DimensionLabel dimLabel = (DimensionLabel); 
dimensionLabel.get(currentDimension.getName()); 
currentRefinementDimension = new Refinement(); // Exception here 
currentRefinementDimension.setExpanded(true); 

내가 코드에 디버깅 및 해시 테이블 dimensionLabel가있는 DimensionLabel 있습니다

net.nrj.service.SearchServiceProcessor java.lang.ClassCastException: net.nrj.alf.DimensionLabel 
java.lang.ClassCastException: net.nrj.alf.DimensionLabel 
    at net.nrj.service.SearchServiceProcessor.setRefinements(SearchServiceProcessor.java:911) 
    at net.nrj.service.SearchServiceProcessor.process(SearchServiceProcessor.java:134) 
    at net.nrj.service.ServiceController.processRequest(ServiceController.java:323) 
    at net.nrj.service.ServiceController.doGet(ServiceController.java:307) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:821) 
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) 
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) 
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) 
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:184) 
    at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:529) 
    at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:253) 
    at weblogic.servlet.internal.ServletResponseImpl.sendError(ServletResponseImpl.java:719) 
    at weblogic.servlet.internal.ServletResponseImpl.sendError(ServletResponseImpl.java:591) 
    at weblogic.servlet.FileServlet.findSource(FileServlet.java:270) 
    at weblogic.servlet.FileServlet.doGetHeadPost(FileServlet.java:191) 
    at weblogic.servlet.FileServlet.service(FileServlet.java:173) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:821) 
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) 
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) 
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) 
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:184) 
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3686) 
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650) 
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) 
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) 
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268) 
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174) 
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446) 
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) 
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) 

여기 내 코드입니다.

+0

해당 행의 코드를 전달하는 방법은 무엇입니까? – Bozho

+0

DimensionLabel dimLabel = (DimensionLabel) dimensionLabel.get (currentDimension.getName()); 여기 CCE << currentRefinementDimension = new 상세 검색(); \t \t \t \t \t currentRefinementDimension.setExpanded (true); 코드로 디버깅 한 해시 테이블 dimensionLabel에 DimensionLabel이 있습니다. –

+0

이 질문에 대한 답변을 –

답변

0

코드로 디버깅 할 수 있으면 클래스가 호출되는 위치를 확인하십시오. 일반적으로 전화해야합니다

this.getClass().getProtectionDomain().getCodeSource().getLocation() 

이렇게하면 클래스가로드되는 항아리가 표시됩니다. jar 충돌이 있는지 확인하십시오. (이전 jar 등)

+0

에 추가했습니다.이 파일은 JAR 파일 시스템에서 나오지 않습니다. 제안한 코드를 실행했습니다 : /opt/work/nrj/webapps/jobsearch/WEB-INF/classes/ne/nrj/service/SearchServiceProcessor.class. –

+0

weblogic 10 캐싱 클래스 (jars)를 보았고 모든 종류의 위치 (tmp 등)에서 선택하여 어쩌면 더 깊이 파고 치수 레이블 클래스를 선택해야하는지 알아 내려고 했습니까? 위치에 가서 이것을 보는 것은 원하는 수업입니다. – Pushkar