Java _jspInit中的NullPointerException

Java _jspInit中的NullPointerException,java,tomcat,Java,Tomcat,当我通过键入地址从web浏览器访问它时,我在jsp页面的jspInit函数中得到了一个NullPointerException。我在网上搜索,大多数人都说这是因为在我的web-INF/lib文件夹中,有一个.jar文件jsp-api.jar与tomcat容器的jar文件(如中所示)相匹配。但是,我检查了lib文件夹,没有找到这样的jar文件。原因是什么?如何解决 以下是jsp错误页面: type Exception report message description The server

当我通过键入地址从web浏览器访问它时,我在jsp页面的jspInit函数中得到了一个NullPointerException。我在网上搜索,大多数人都说这是因为在我的web-INF/lib文件夹中,有一个.jar文件jsp-api.jar与tomcat容器的jar文件(如中所示)相匹配。但是,我检查了lib文件夹,没有找到这样的jar文件。原因是什么?如何解决

以下是jsp错误页面:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: java.lang.NullPointerException
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:538)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause

java.lang.NullPointerException
    org.apache.jsp.index_jsp._jspInit(index_jsp.java:25)
    org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:164)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:340)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.35 logs.
下面是我在tomcat6中的web应用程序的lib目录中的jar文件列表:

activation-1.1.jar              
antlr-2.7.6.jar                 
bean-validator.jar              
c3p0-0.9.1.jar                  
cglib-2.2.jar                   
commons-codec-1.2.jar           
commons-codec-1.4.jar           
commons-collections-3.1.jar     
commons-httpclient-3.1.jar      
commons-lang-2.4.jar            
commons-logging.jar             
commons-logging-1.1.jar         
cxf-api-2.2.9.jar               
cxf-common-schemas-2.2.9.jar    
cxf-common-utilities-2.2.9.jar  
cxf-rt-bindings-soap-2.2.9.jar  
cxf-rt-bindings-xml-2.2.9.jar   
cxf-rt-core-2.2.9.jar           
cxf-rt-databinding-jaxb-2.2.9.jar        
cxf-rt-frontend-jaxws-2.2.9.jar          
cxf-rt-frontend-simple-2.2.9.jar         
cxf-rt-transports-http-2.2.9.jar         
cxf-rt-ws-addr-2.2.9.jar                 
cxf-tools-common-2.2.9.jar               
dom4j-1.6.1.jar                          
ehcache-1.2.3.jar                        
emayclient-v2.jar                        
epcis-captureclient-0.5.0.jar            
epcis-commons-0.5.0.jar                  
epcis-queryclient-0.5.0.jar              
geronimo-annotation_1.0_spec-1.1.1.jar   
geronimo-jaxws_2.1_spec-1.0.jar          
geronimo-stax-api_1.0_spec-1.0.1.jar     
geronimo-ws-metadata_2.0_spec-1.1.2.jar  
hibernate3.jar                           
httpclient-4.1.jar                       
httpcore-4.1.jar                 
httpmime-4.1.jar                 
javassist-3.9.0.GA.jar           
javax.annotation.jar             
javax.ejb.jar                    
javax.enterprise.deploy.jar      
javax.jms.jar                    
javax.management.j2ee.jar        
javax.persistence.jar            
javax.resource.jar               
javax.security.auth.message.jar  
javax.security.jacc.jar          
javax.servlet.jar                
javax.servlet.jsp.jar            
javax.servlet.jsp.jstl.jar       
javax.transaction.jar            
jaxb-api-osgi.jar                
jaxb-impl-2.2.jar                
jboss-cache-1.4.1.GA.jar                     
jbosscache-core-3.1.0.GA.jar                 
jdom-2.0.4.jar                               
jsf-api.jar                                  
jsf-impl.jar                                 
json-20090211.jar                            
jsr311-api.jar                               
jstl-impl.jar                                
jta-1.1.jar                                  
junit.jar                                    
log4j-1.2.14.jar                             
m4uapi.jar                                   
mail.jar                                     
mysql-connector-java-5.1.21-bin.jar          
org.hamcrest.core_1.1.0.v20090501071000.jar  
oscache-2.1.jar
proxool-0.8.3.jar
qrgen-1.1.jar
saaj-api-1.3.jar
saaj-impl-1.3.2.jar
slf4j-api-1.5.8.jar
slf4j-log4j12-1.5.8.jar
stax-api-1.0-2.jar
swarmcache-1.0RC2.jar
textmagic-sms-api-1.0.jar
webservices-api-osgi.jar
weld-osgi-bundle.jar
wsdl4j-1.6.2.jar
wstx-asl-3.2.9.jar
xml-resolver-1.2.jar
XmlSchema-1.4.5.jar
zxing-core-1.7.jar
zxing-j2se-1.7.jar

假设JAR是正确的使用方向-我会检查它是否出现在
catalina.properties
文件(位于
conf
下)的
common.loader
属性中目录。

假设JAR是正确的使用方向-我会检查它是否出现在
catalina.properties
文件(位于
conf
目录下)的
common.loader
属性中。

这是catalina.properties:
common.loader=${catalina.base}/lib中我的common.loader行${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar、/var/lib/tomcat6/common/classes、/var/lib/tomcat6/common/*.jar
。您的意思是丢失或冲突的jar文件只是jsp-api.jar,还是其他jar文件出错了?您的
common.loader
配置似乎是默认配置-因此假设您验证了类路径中的所有jar,并且没有发现冲突-这可能不是继续调查的方向。日志文件中有一行:
2013年1月8日10:40:41 AM org.apache.catalina.loader.WebappClassLoader validateJarFile信息:validateJarFile(/var/lib/tomcat6/webapps/SCMPUSH2/WEB-INF/lib/javax.servlet.jar)-jar未加载。请参阅Servlet Spec 2.3,第9.7.2节。有问题的类:javax/Servlet/Servlet.class 2013年1月8日上午10:40:41 org.apache.catalina.startup.HostConfig deployDirectory
。这是否与问题有关?看起来
javax.Servlet.Servlet
类在JVM配置中出现两次-这可能表明他加载了一个错误的JAR。搜索所有JAR以查看哪个JAR包含此类,然后将其从类路径中删除。注意:这只是一个猜测,我已将tomcat版本从6更改为7,错误没有发生,而启动期间的所有警告都像以前一样显示。因为我的tomcat6可以在之前的某段时间内工作,而came突然宕机,之后就再也回不去了,我可能不会说问题已经解决了。我只是希望tomcat7能够解决这个问题。但是我仍然想知道这是为什么…这是我在catalina.properties:
common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib中的common.loader行${catalina.home}/lib/*.jar、/var/lib/tomcat6/common/classes、/var/lib/tomcat6/common/*.jar
。您的意思是丢失或冲突的jar文件只是jsp-api.jar,还是其他jar文件出错了?您的
common.loader
配置似乎是默认配置-因此假设您验证了类路径中的所有jar,并且没有发现冲突-这可能不是继续调查的方向。日志文件中有一行:
2013年1月8日10:40:41 AM org.apache.catalina.loader.WebappClassLoader validateJarFile信息:validateJarFile(/var/lib/tomcat6/webapps/SCMPUSH2/WEB-INF/lib/javax.servlet.jar)-jar未加载。请参阅Servlet Spec 2.3,第9.7.2节。有问题的类:javax/Servlet/Servlet.class 2013年1月8日上午10:40:41 org.apache.catalina.startup.HostConfig deployDirectory
。这是否与问题有关?看起来
javax.Servlet.Servlet
类在JVM配置中出现两次-这可能表明他加载了一个错误的JAR。搜索所有JAR以查看哪个JAR包含此类,然后将其从类路径中删除。注意:这只是一个猜测,我已将tomcat版本从6更改为7,错误没有发生,而启动期间的所有警告都像以前一样显示。因为我的tomcat6可以在之前的某段时间内工作,而came突然宕机,之后就再也回不去了,我可能不会说问题已经解决了。我只是希望tomcat7能够解决这个问题。但是我还是想知道为什么。。。