首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSP on Heroku - "Unable to compile class for JSP“

JSP on Heroku - "Unable to compile class for JSP“
EN

Stack Overflow用户
提问于 2013-07-13 00:16:29
回答 1查看 1.4K关注 0票数 0

我正在开发一个Spring MVC服务应用程序,我计划在Heroku上部署它。当我使用git push部署应用程序时,应用程序依赖于Jetty,一切都运行得很好。然后我决定从应用程序中删除Jetty,将应用程序拆分为几个模块,使用Maven将其捆绑成WAR,并将该WAR部署到Heroku (有效地将我的应用程序部署到Tomcat7)。应用程序的服务部分继续正常工作,但JSP开始抛出奇怪的异常:

代码语言:javascript
复制
org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 12 in the jsp file: /WEB-INF/jsp/createOrder.jsp
The method proprietaryEvaluate(String, Class<Boolean>, PageContext, null, boolean) is undefined for the type PageContextImpl
9: </head>
10: <body>
11: <c:choose>
12: <c:when test="${success}">
13:     Order successfully created
14: </c:when>
15: <c:otherwise>

堆栈跟踪:

代码语言:javascript
复制
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:468)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

看起来好像EL不起作用。

有没有其他人遇到过这个或类似的问题,有谁知道如何解决它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-18 17:03:20

好吧,为了回答我自己的问题...我做了两件事来解决这个问题:

1)我已经从Maven文件中删除了剩余的Jetty依赖项;Jetty只用于本地测试,所以这不会造成任何问题

2)我添加了一个对org.springframework.ui.Model的引用作为重定向到JSP页面的所有Spring MVC控制器方法的参数,以及现有的Map<String, Object>参数;服务方法--那些返回XML或JSON的方法--保持不变。我还将Map<String, Object>参数的所有成员复制到了模型参数中。

我的猜测是,从pom.xml中移除Jetty依赖确实起到了作用,但我还实现了第二个修复。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17619382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档