2010-06-28 52 views
0

單擊預覽按鈕或在Web查看器中運行報告後出現錯誤。Eclipse Galileo Birt

org.eclipse.birt.report.presentation.aggregation.layout.RunFragment不能轉換到org.eclipse.birt.report.presentation.aggregation.IFragment

造成的:

java.lang.ClassCastException:org.eclipse.birt.report.presentation.aggregation.layout.RunFragment不能org.apache.jsp被轉換爲org.eclipse.birt.report.presentation.aggregation.IFragment 。 webcontent.birt.pages.layout.RunFragment_jsp._jspSe起動轉矩(RunFragment_jsp.java:63) 在org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:820) 在有機apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service( JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.equinox.jsp.jasper.JspServlet.service(JspServlet.java:112) at javax。 servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.equinox.http.registry.internal.ServletManager $ ServletWrapper.service(ServletManager.java:180) at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.equinox.http。 jetty.internal.HttpServerManager $ InternalHttpServiceServlet.service(HttpServerManager.java:318) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502) at org.mortbay.jetty.servlet.ServletHandler.handle( ServletHandler.java:380) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:192) at org.eclipse.equinox.http.servlet .internal.RequestDispatcherAdaptor.include(RequestDispatcherAdaptor.java:37) at org.eclipse.birt.report.presentation.aggregation.layout.FramesetFragment.service(FramesetFragment.java:98) at org.eclipse.birt.report.servlet .ViewerServlet .__的doGet(ViewerServlet.java:181) 在org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doGet(BirtSoapMessageDispatcherServlet.java:160) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:707 ) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) at javax.servlet.http .httpServlet.service(HttpServlet.java:820) at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122) at org.eclipse.equinox.http.registry.internal.ServletManager $ ServletWrapper .service(ServletManager.java:180) at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias (ProxyServlet.java:111) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet。java:59) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.equinox.http.jetty.internal.HttpServerManager $ InternalHttpServiceServlet.service(HttpServerManager.java:318) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:380) at org.mortbay.jetty.servlet.SessionHandler。處理(SessionHandler.java:181) 在org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) 在org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 在org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535) 在org.mortbay.jetty.HttpConnection $ RequestHandler.headerComplete(HttpConnection.java:865) 在org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:540) 在org.mortbay.jetty.HttpParser.parseAvailable( HttpParser.java:213) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay。 thread.QueuedThreadPool $ PoolThread.run(QueuedThreadPool.java:520)

什麼是它背後的原因和其解決方案

+0

大家都喜歡stacktraces;) – miku 2010-06-28 12:10:44

回答

0

這兩個類來自不同的類加載器。一個可能來自OSGi,另一個來自應用程序的類加載器或應用程序容器。

嘗試打印IFragment.class.getClassLoader()RunFragment.class.getClassLoader()的值,看看它們是否相同。如果不是,請清理您的類加載器:-)

檢出the FAQthis (seemingly unrelated) FAQ item