• 新部署tomcat,An error occurred at line: [1] index_jsp.java


    环境:

    centos6.5 32位

    oracle jdk 1.8

    tomcat 7

    问题:

    yum install tomcat后,返回如下错误:

    [root@centos]~# curl -v http://localhost:8080
    
    * About to connect() to localhost port 8080 (#0)
    
    *   Trying 127.0.0.1... connected
    
    * Connected to localhost (127.0.0.1) port 8080 (#0)
    
    > GET / HTTP/1.1
    
    > User-Agent: curl/7.19.7 (i386-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
    
    > Host: localhost:8080
    
    > Accept: */*
    
    > 
    
    < HTTP/1.1 500 Internal Server Error
    
    < Server: Apache-Coyote/1.1
    
    < Content-Type: text/html;charset=utf-8
    
    < Content-Language: en
    
    < Content-Length: 2655
    
    < Date: Thu, 15 Sep 2016 03:03:16 GMT
    
    < Connection: close
    
    < 
    
    <html><head><title>Apache Tomcat/7.0.65 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 500 - Unable to compile class for JSP: </h1><HR size="1" noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b> <u>Unable to compile class for JSP: </u></p><p><b>description</b> <u>The server encountered an internal error that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>org.apache.jasper.JasperException: Unable to compile class for JSP: 
    
     
    
    An error occurred at line: [1] in the generated java file: [/usr/share/tomcat/work/Catalina/localhost/_/org/apache/jsp/index_jsp.java]
    
    The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files
    
     
    
    An error occurred at line: [1] in the generated java file: [/usr/share/tomcat/work/Catalina/localhost/_/org/apache/jsp/index_jsp.java]
    
    The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files
    
     
    
    Stacktrace:
    
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103)
    
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:366)
    
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:466)
    
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:379)
    
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
    
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:341)
    
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:662)
    
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:364)
    
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
    
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
    
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    
    * Closing connection #0
    
    #

    网友介绍这是ecj.jar太老了。网友的版本事3.4.2,换4.2后ok。看下自己的ecj

    [root@centos]/usr/share/java# ll|grep ecj
    
    -rw-r--r-- 1 root root  1442090 11月 11 2010 ecj-3.4.2.jar
    
    lrwxrwxrwx 1 root root       13 9月  15 00:53 ecj.jar -> ecj-3.4.2.jar
    
    lrwxrwxrwx 1 root root       13 9月  15 00:53 eclipse-ecj-3.4.2.jar -> ecj-3.4.2.jar
    
    lrwxrwxrwx 1 root root       21 9月  15 00:53 eclipse-ecj.jar -> eclipse-ecj-3.4.2.jar
    
    lrwxrwxrwx 1 root root       13 9月  15 00:53 jdtcore.jar -> ecj-3.4.2.jar

    果然很老。

    那么打开ecj看下, 果然很多编译相关的类啊!

    http://wiki.jikexueyuan.com/project/tomcat/classloading.html

    用ecj-4.4.2.jar 替换老版本ecj后,重启tomcat,关闭防火墙,访问网页

    done

  • 相关阅读:
    MySQL max_allowed_packet设置及问题
    centos 7 编译安装mysql 详细过程
    如何快速查看mysql数据文件存放路径?
    centos yum 库更新
    centos 7 ifconfig 命令找不到
    http协议
    前端那些事儿
    C++接口的定义与实现的详细过程
    List转为字符串
    spring cloud spring boot JPA 克隆对象修改属性后 无法正常的执行save方法进行保存或者更新
  • 原文地址:https://www.cnblogs.com/yinkw/p/5874555.html
Copyright © 2020-2023  润新知