【问题标题】:java.lang.ClassCastException in WebLogic 10.3.3 after recompile重新编译后 WebLogic 10.3.3 中的 java.lang.ClassCastException
【发布时间】:2010-12-10 14:23:29
【问题描述】:

在编辑一些代码时,开发人员在 Weblogic 10.3.3 中重新编译后注意到此错误。底层对象是 DimensionLabel。我们在 Weblogic 9.2 中进行了尝试,它运行良好,无一例外。开发人员只需重新编译调用 DimensionLabel SearchServiceProcessor 的类并重新运行应用程序。

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)

这是我的代码:

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

我调试了代码,哈希表 dimensionLabel 里面有一个 DimensionLabel。

【问题讨论】:

  • 那行(及其周围)的代码怎么样?
  • DimensionLabel dimLabel = (DimensionLabel) dimensionLabel.get(currentDimension.getName()); CCE 这里
  • 已将您的评论添加到问题中

标签: java jakarta-ee weblogic-10.x weblogic11g weblogic9.x


【解决方案1】:

如果您可以调试代码,请检查从何处调用您的类。一般需要调用

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

这将告诉您加载类的 jar。检查是否存在 jar 冲突(旧 jar 等)

【讨论】:

  • 此文件不是来自文件系统上的 JAR。我运行了您建议的代码:/opt/work/nrj/webapps/jobsearch/WEB-INF/classes/ne/nrj/service/SearchServiceProcessor.class。
  • 我已经看到 weblogic 10 缓存类(jars)并从各种位置(tmp 等)中挑选它们,所以也许你应该更深入地挖掘并尝试找出你的维度标签类是从哪里挑选出来的?去地点看看这是你想要的课程等等。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多