java—在tomcat7中成功运行,但在centos的tomcat9中出现错误

9lowa7mx  于 2021-06-27  发布在  Java
关注(0)|答案(1)|浏览(439)

我有一个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的版本,但是没有成功。
也尝试了这个和这个解决方案。

kyxcudwk

kyxcudwk1#

你应该打扫房间 $CATALINA_BASE/work tomcat安装目录。你显然有 *.java 以及 *.class 这些文件是用jasper的tomcat7版本编译的。
在删除文件之前,停止tomcat。
这应该能解决你的问题 NoSuchMethodError ,但触发此消息的异常仍在jsp中。正如可怕的wombat所说,您应该考虑在jsp页面中只使用el表达式和jstl标记。

相关问题