【发布时间】:2018-12-20 10:16:57
【问题描述】:
由于 Tomcat 8.0 已经结束生命,我想将我的应用程序直接升级到 Tomcat 9。
当我将基于 Java 的应用程序从本地部署到服务器时,我有一个覆盖 server.xml 的脚本。我将服务器升级到 tomcat 9 并尝试将我的应用程序放在那里,但尝试启动它时出现错误。
org.apache.tomcat.util.digester.Digester.startElement Begin event threw exception
java.lang.ClassNotFoundException: org.apache.catalina.core.JasperListener
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
Tomcat 9 不知道 JasperListener。我用谷歌搜索了这个问题,并从 apache 中找到了“Jasper How to”页面,但我不明白。现在是否安装了 Jasper,而无需我在 server.xml 中插入 JasperListener?当从 Tomcat 8 升级到 9 时,我还需要更新什么吗?
【问题讨论】:
-
不要将 Tomcat 的 server.xml 用于另一个主要版本。
-
@EugèneAdell 我的项目中有一个 server.xml 和一个在部署时覆盖 tomcat 的 server.xml 的脚本。我试图弄清楚我需要在 server.xml 中更改什么。我注释掉了 JasperListener 并且它工作了,但现在我不知道 Jasper 是否还在工作。因此,我的问题是我是否不再需要 JasperListener 以及我还需要更改什么。编辑:另外,在部署我的项目时,我在每次部署时都设置了一个新的 Tomcat,每个脚本都拉出 tomcat 并将其安装在服务器上。所以我需要覆盖 server.xml
-
无法回答,被另一个版本覆盖是一种不好的做法。 server.xml 可以更改:一点/非常多/一点也不。最重要的检查是端口属性。
标签: java tomcat tomcat8 tomcat9