【问题标题】:Class cast exception while running the jsp file运行jsp文件时类转换异常
【发布时间】:2018-05-12 05:14:02
【问题描述】:

我正在尝试运行我的 .jsp 文件之一,但遇到类转换异常。

('org.apache.catalina.core.DefaultInstanceManager 不能转换为 org.apache.tomcat.InstanceManager')

我已将所有 jars 放在 WEB-INF/lib 文件夹中,并且已包含所有必需的 jars。

出现这个错误是因为.jar 版本不匹配吗?

如果有人知道这个错误,请告诉我。

【问题讨论】:

  • 告诉我们您在 WEB-INF/lib 中放置了哪些 jar,并向我们展示了异常的完整堆栈跟踪。
  • 我用过这些罐子。注释-api.jar、ecj-3.7.2.jar、el-api.jar、jasper-el.jar、jasper.jar、jsp-api.jar、servlet-api.jar、tomcat-api.jar、tomcat- coyote.jar,tomcat-dbcp.jar,tomcat-i18n-es.jar,tomcat-i18n-fr.jar,tomcat-i18n-ja.jar,tomcat-jdbc.jar,tomcat-util.jar
  • 请找到完整的日志。 java.lang.ClassCastException: org.apache.catalina.core.DefaultInstanceManager 不能在 org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(InstanceManagerFactory.java:32) 中转换为 org.apache.tomcat.InstanceManager。 jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:171) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java: 390)在 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

标签: jsp


【解决方案1】:

你不能把tomcat的jar文件放到WEB-INF/lib中。 Tomcat 已经有了这些类,它们必须由根 tomcat 类加载器加载,而不是由 webapp 的类加载器加载。除非此 jar 列表中存在不属于 Tomcat 的特定库,否则所有这些 jar 都不应该存在。

您放入 WEB-INF/lib 的是您的代码使用的库,例如 Guava 或 OpenCSV 或您可以自己创建的任何 jar。不是 Tomcat 自己的库。

【讨论】:

  • 感谢 JB 的回复。所以你想让我从 lib 文件夹中删除与 tomcat 相关的 jar,并在 eclipse 中使用 java 构建路径包含这些 jar?
  • 是的,现在可以正常工作了! JB,如果我错了,请纠正我。因此,当我部署 J2EE 应用程序时,与 tomcat 相关的 jar 不应该放在 lib 文件夹中。它将被tomcat的根类加载器自动选择。我说的对吗?
  • 是的。但是你不应该在你的代码中依赖任何特定于 tomcat 的东西。除了 servlet-api.jar 和可能的 annotations-api.jar 和 el-api.jar,这些 jar 都不应该在你的类路径中。只添加您实际使用的内容。
  • 是的,你是对的。您正在部署到 Tomcat 中,并且 Tomcat 有自己的 jars。创建 windows/linux 应用程序时,您不会提供整个 windows/linux 操作系统库,对吗?同样在这里。 Tomcat 是你的 webapp 的操作系统,如果你愿意的话。
  • 大家好,我的应用程序也遇到了同样的问题。我的 web-inf/lib 文件夹中没有上述任何库。你能想到我会遇到这个问题的任何其他原因吗?或者你有我应该在我的 web-inf/lib 中检查的库列表吗?谢谢
猜你喜欢
  • 1970-01-01
  • 2020-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多