gpt4 book ai didi

java - ClassCastException 与机器之间的 webapp

转载 作者:太空宇宙 更新时间:2023-11-04 08:38:26 24 4
gpt4 key购买 nike

我目前有一个使用 Eclipse Galileo 和 m2Eclipse 在我的笔记本电脑上运行的 Maven Web 应用程序,该应用程序启动并运行良好。

我刚刚将代码从 svn checkout 到我的桌面上,并将其导入到 Eclipse Helios 和 m2Eclipse(这次在 64 位 Windows 上运行)

但是,当我启动服务器和应用程序时,导航到我的网络应用程序时出现以下错误:

org.apache.tiles.impl.CannotRenderException: ServletException including path '/WEB-INF/views/index2.jsp'.
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:691)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:643)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:626)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:322)
at org.springframework.web.servlet.view.tiles2.TilesView.renderMergedOutputModel(TilesView.java:100)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1060)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:798)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:473)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:466)
at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:315)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:179)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
...
Caused by: java.lang.ClassCastException: org.apache.el.ExpressionFactoryImpl cannot be cast to javax.el.ExpressionFactory
at javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:180)
at javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:107)
at org.apache.jasper.compiler.PageInfo.<init>(PageInfo.java:78)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:109)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:372)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:352)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:339)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:594)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:344)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:473)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
at org.apache.tiles.servlet.context.ServletTilesRequestContext.forward(ServletTilesRequestContext.java:241)
... 36 more

我遇到了一些初期问题,我的 Maven_dependency 库没有包含在我的首选项的部署程序集选项中(以前是 Eclipse pre-Helios 中的“Java EE 模块”),但它正在启动,并且无法找到有关此错误的任何内容。

我的第一个想法是,当我将所有 JAR 从 mvn 下载到一个干净的存储库时,它可能会拉取不同的东西?我看不出如何为此类使用两个不同的 org.apache.el.. 和 javax.el... 包?

最佳答案

我已经设法弄清了这件事的真相。它类似于这里的问题How to prevent duplicate servlet jar using eclipse+m2eclipse

问题是,使用 M2Eclipse,maven 依赖库包含在 WAR 中(如果从 Eclipse 构建,或者如果您在 Eclipse 中将应用程序部署到 Tomcat,则包含在内),而 maven 构建的所有内容仍然正常运行,M2Eclipse 不尊重库的范围,因此,如果您“提供”了范围依赖项,它们仍然会被部署,因此您可能会遇到这些冲突。

您可以在此处查看更多详细信息:How to prevent duplicate servlet jar using eclipse+m2eclipse

关于java - ClassCastException 与机器之间的 webapp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5875049/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com