zoukankan      html  css  js  c++  java
  • HTTP Status 500

    刚到公司实习,导入项目到eclipse中,部署到tomcat运行后,控制台报错

    java.lang.ClassCastException: org.apache.jasper.el.ELContextImpl cannot be cast to org.apache.jasper.el.ELContextImpl
    	org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:1023)
    	org.apache.jsp.index_jsp._jspService(index_jsp.java:85)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    	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)

    在网上搜了下,说是因为项目中lib中的jar包和tomcat下lib的jar冲突了,所以报
    java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor错误
    解决方案为:
    修改tomcat目录下的conf/context.xml如下:
    <?xml version='1.0' encoding='utf-8'?>
    <!--
      Licensed to the Apache Software Foundation (ASF) under one or more
      contributor license agreements.  See the NOTICE file distributed with
      this work for additional information regarding copyright ownership.
      The ASF licenses this file to You under the Apache License, Version 2.0
      (the "License"); you may not use this file except in compliance with
      the License.  You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.
    -->
    <!-- The contents of this file will be loaded for each web application -->
    <Context>
        <Loader delegate="true" />

        <!-- Default set of monitored resources -->
        <WatchedResource>WEB-INF/web.xml</WatchedResource>

        <!-- Uncomment this to disable session persistence across Tomcat restarts -->
        <!--
        <Manager pathname="" />
        -->

        <!-- Uncomment this to enable Comet connection tacking (provides events
             on session expiration as well as webapp lifecycle) -->
        <!--
        <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
        -->

    </Context>
    加入了上面的粗体配置后,重启tomcat没有报错!

    但是,再一次启动tomcat时,还会报
    java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor
    非常疑惑,找到之前修改的配置文件
    context.xml,修改的内容没有了,配置文件重置了!
    最后,网上再次查找,解决方案如下:

    1. 在工作空间server 目录下查找tomcat 下面的context.xml 。我的路径是D:DevelopworkspaceServersTomcat v7.0 Server at localhost-config 。下面有 context.xml,修改此文件。

    2. 删除Tomcat 目录下server中catalina的相关项目。我的路径是D:apacheapache-tomcat-7.0.56workCatalinalocalhost 。将报错项目fund删除即可。

    下次重启Tomcat 时,此项目就使用新的context.xml 文件了。

    最后,完美解决问题!

    第二次更新,本来以上解决方法可以解决,但是好像重启tomcat后还是会不行!

    最终找到了终极解决方法!适用于eclispe

    新建Tomcat后,在Package Expplorer中会出现一个Servers的项目,如下图

     

    我们打开context.xml配置文件

    在这个文件中添加之前说的一句话

    最终,再没有出现过这个问题!

  • 相关阅读:
    快速搭建一个本地的FTP服务器
    Node.js安装及环境配置之Windows篇
    在win10上安装oracle10g
    win10安装oracle11g客户端
    解决:Java source1.6不支持diamond运算符,请使用source 7或更高版本以启用diamond运算符
    idea 右侧 无 meven 菜单
    idea导入maven项目不能识别pom.xml文件解决办法
    PostgresSQL客户端pgAdmin4使用
    PostgreSQL 创建数据库
    PostgreSQL 数据类型
  • 原文地址:https://www.cnblogs.com/guodong-wang/p/7999289.html
Copyright © 2011-2022 走看看