我有一个java项目。它目前在tomcat-7、java-8和postgres-9.3中运行。我将它更新为openjdk-11和postgres-13,并尝试在tomcat9中部署它,但它给出了这个错误。
javax.servlet.ServletException: java.lang.NoSuchMethodError: 'java.lang.Object
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(java.lang.String, java.lan$
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:666)
at org.apache.jsp.layout1_jsp._jspService(Unknown Source)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
我尝试过一些解决方案,比如在我的webinf/lib文件夹中使用jar的版本,但是没有成功。
也尝试了这个和这个解决方案。
1条答案
按热度按时间kyxcudwk1#
你应该打扫房间
$CATALINA_BASE/work
tomcat安装目录。你显然有*.java
以及*.class
这些文件是用jasper的tomcat7版本编译的。在删除文件之前,停止tomcat。
这应该能解决你的问题
NoSuchMethodError
,但触发此消息的异常仍在jsp中。正如可怕的wombat所说,您应该考虑在jsp页面中只使用el表达式和jstl标记。