org.apache.jsp.init_jsp.jspInit(init_jsp.java:39)中的java.lang.NullPointerException

时间:2015-12-01 07:56:02

标签: java maven web-applications intellij-idea tomcat7

我正在使用 intellij Maven 撰写 java webapp 。 当我尝试在 tomcat 7 上部署webapp时,我得到了以下异常

不要将此标记为NullPointerException的副本,因为这与jsp错误有关。

SEVERE: Servlet /SynapseChat threw load() exception
java.lang.NullPointerException
at org.apache.jsp.init_jsp.jspInit(init_jsp.java:39)
at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:48)
at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:180)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
at org.apache.jasper.servlet.JspServlet.init(JspServlet.java:138)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1284)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1197)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1087)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5231)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5518)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1762)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:618)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:565)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487)
at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97)
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420)
at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
at sun.rmi.transport.Transport$2.run(Transport.java:202)
at sun.rmi.transport.Transport$2.run(Transport.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:198)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:567)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.access$400(TCPTransport.java:619)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(TCPTransport.java:684)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(TCPTransport.java:681)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:681)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)  

我尝试了所有类似的问题,但找不到合适的解决方案。我检查了我的WEB-INF/lib文件夹中是否存在可能存在冲突的jar文件,但找不到答案中提到的任何内容。以下是我WEB-INF/lib文件夹

中的jar列表
  1. ampcore-1.0.7.5.jar
  2. aopalliance-重新包装-2.4.0-b31.jar
  3. GSON-2.4.jar
  4. HK2-API-2.4.0-b31.jar
  5. HK2定位器-2.4.0-b31.jar
  6. HK2-utils的-2.4.0-b31.jar
  7. 了Javassist-3.18.1-GA.jar
  8. javax.annotation中-API-1.2.jar
  9. javax.inject-2.4.0-b31.jar
  10. javax.ws.rs-API-2.0.1.jar
  11. JDOM-1.1.2.jar
  12. Jersey的客户端 - 2.22.1.jar
  13. Jersey的共2.22.1.jar
  14. Jersey的容器servlet的2.22.1.jar
  15. Jersey的容器servlet的芯 - 2.22.1.jar
  16. Jersey的番石榴2.22.1.jar
  17. Jersey的媒体JAXB-2.22.1.jar
  18. 球衣 - 服务器 - 2.22.1.jar
  19. jxmpp核-0.4.2.jar
  20. jxmpp-util的缓存-0.4.2.jar
  21. 的log4j-1.2.12.jar
  22. 记录器-1.0.0.jar
  23. MySQL的连接器的Java-5.1.6.jar
  24. OSGi的资源定位器1.0.1.jar
  25. REST的API的客户端 - 1.1.3.jar
  26. SLF4J-API-1.7.12.jar
  27. SLF4J-简单1.7.12.jar
  28. 咂嘴核-4.1.4.jar
  29. 咂嘴-IM-4.1.4.jar
  30. 咂嘴-TCP-4.1.4.jar
  31. 验证-API-1.1.0.Final.jar
  32. xmlconfreader-1.0.0.jar
  33. xpp3-1.1.4c.jar
  34. 这是我的init.jsp代码。

    <%@page import="java.lang.*"%>
    <%@ page import="java.util.*" %>
    <%@ page import="java.io.*" %>
    
    <%@ page import="java.net.URLEncoder" %>
    <%@ page import="org.jdom.*" %>
    <%@ page import="synapse.ivr.logger.*" %>
    <%@ page import="java.io.File" %>
    <%@ page import="org.apache.log4j.BasicConfigurator" %>
    <%@ page import="org.apache.log4j.PropertyConfigurator" %>
    <%@ page import="synapse.ivr.xmlreader.SystemConfig" %>
    <%@ page import="org.apache.log4j.Logger" %>
    
    <%
        jspInit();
    %>
    <%!public void jspInit(){
    
        System.out.println("START INITIALIZING AMP API");
    
        LoggerConguratorXML.DEFAULT_FILE =  "/etc/cms/chatapi/log4j.xml";
        LoggerConguratorXML.loggerConfig();
    
        SystemConfig.DEFAULT_FILE =  "/etc/cms/chatapi/config.xml";
        SystemConfig.getInstance();
    
        String softVersion =    SystemConfig.getInstance().getStr("ivr.chatserver.version").toString();
    
        GlobleLogging synapseUMS = new GlobleLogging();
        Logger cat = synapseUMS.returnLogger();
    
        cat.info("Config files initiated");
        cat.info("SW Version : "+softVersion);
        System.out.println("SW Version : "+softVersion);
        System.out.println("##############################################");
    
    
    }%>
    

1 个答案:

答案 0 :(得分:2)

SystemConfig.getInstance().getStr("ivr.chatserver.version")可能为null,在这种情况下,调用.toString()会导致该行为。

但它仍然是What is a NullPointerException, and how do I fix it?的副本。