0

我准备.war文件并将其部署到我的topmcat服务器上,但servlet存在问题。问题在Tomcat 5上部署.war(空指针异常)

大家平常遇到的问题是ClassNotFoundException,但是这个是NullPointerException,我找不到原因。谢谢你的帮助。

我使用的是JDK 1.5,我的项目是GWT 2.3.0和Tomcat是Tomcat的5

在Properties.java第365行是inLimit = inStream.read(inBuf);其中inStream中(InputStream)是输入参数的构造函数LineReader。方法readLine()引发异常。

这里的堆栈跟踪:

- Marking servlet generalService as unavailable 
- Allocate exception for servlet generalService 
java.lang.NullPointerException 
     at java.util.Properties$LineReader.readLine(Properties.java:365) 
     at java.util.Properties.load(Properties.java:293) 
     at com.cs.eyeks.gwt.core.EyeksGwtConf.<init>(EyeksGwtConf.java:17) 
     at com.cs.eyeks.gwt.core.EyeksGwtConf.getConfiguration(EyeksGwtConf.java 
:29) 
     at com.cs.eyeks.gwt.EyeksGwtRemoteServiceServlet.<init>(EyeksGwtRemoteSe 
rviceServlet.java:28) 
     at tr.gov.gib.mhdb.vimer.vimerapp.server.GeneralServiceImpl.<init>(Gener 
alServiceImpl.java:64) 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 

     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct 
orAccessorImpl.java:39) 
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC 
onstructorAccessorImpl.java:27) 
     at java.lang.reflect.Constructor.newInstance(Constructor.java:501) 
     at java.lang.Class.newInstance0(Class.java:350) 
     at java.lang.Class.newInstance(Class.java:303) 
     at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper. 
java:1089) 
     at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.jav 
a:791) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV 
alve.java:127) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV 
alve.java:174) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j 
ava:127) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j 
ava:117) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal 
ve.java:108) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav 
a:151) 
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java 
:870) 
     at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p 
rocessConnection(Http11BaseProtocol.java:665) 
     at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo 
int.java:528) 
     at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol 
lowerWorkerThread.java:81) 
     at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP 
ool.java:685) 
     at java.lang.Thread.run(Thread.java:595) 
+0

似乎属性文件丢失,你可以检查属性文件的源代码在'Properties.java:365' –

+0

也许你可以看看或添加到'Properties.java'的问题行365,因为那是错误的地方发生。 (我知道它在JDK中,但你可以从中获得源代码。) –

+0

你的意思是jdk可能会导致问题?我使用jdk 1.5,我的项目是GWT 2.3.0,而tomcat是Tomcat 5. – Halo

回答

2

EyeksGwtConf.java 17行尝试加载一个不存在的配置文件,或属性的文件名是空的。

+0

谢谢,它帮助了很多定位问题 – Halo