我的tomcat服务器没有在eclipse中启动,之前工作正常,但现在它显示以下异常。 虽然它在日食之外工作得很好。但每当我尝试启动服务器时,会发生以下异常并显示message = "在localhost启动Tomcat服务器v8.0服务器遇到了问题"
Dec 08, 2014 4:35:16 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-nio-8009"]
Dec 08, 2014 4:35:16 PM org.apache.coyote.AbstractProtocol destroy
SEVERE: Failed to destroy end point associated with ProtocolHandler ["ajp-nio-8009"]
java.lang.NullPointerException
at org.apache.tomcat.util.net.NioEndpoint.releaseCaches(NioEndpoint.java:307)
at org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:482)
at org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:795)
at org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:531)
at org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)
at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:588)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)
at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:850)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)
at org.apache.catalina.startup.Catalina.start(Catalina.java:629)
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.catalina.startup.Bootstrap.start(Bootstrap.java:351)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
答案 0 :(得分:1)
堆栈跟踪似乎表明Tomcat已经确定启动失败,并且在尝试关闭时发生了NPE。
我希望真正的问题(即导致Tomcat放弃启动尝试的问题)在日志文件中更早。
确实,Tomcat源代码证实了这一点:
protected void releaseCaches() {
this.keyCache.clear();
this.nioChannels.clear();
this.processorCache.clear();
if ( handler != null ) handler.recycle();
}
此处的NullPointerException意味着keyCache
或nioChannels
或processorCache
为null
。 (我认为)只有在构造NioEndPoint
对象期间出现问题时才会发生这种情况,因为这三个字段是private final
。或者至少,它们属于我看过的版本。
答案 1 :(得分:1)
这件事发生在我身上,原因是我错误配置了我的Tomcat服务器。删除它并创建新的服务器条目有帮助。