这个问题真蛋疼,真的,因为你不知道它什么时候就跑出来了,而且一旦出这个问题,运气好的可以通过所谓的度娘找到替换一个名为tcnative-1.dll文件解决掉这个问题,运气不好的,呵呵。。。。
我一共遇到两次,第一次的时候折腾够呛,但是最后也算是通过替换那个文件解决了问题,可是好景不长,用了没几天,突然就又出现这个错误了,对于网上千篇一律的替换文件的方法我已不愿再去尝试了,因为我几乎试尽了那些方法,不奏效
目前我也没有找到解决这个问题的办法,但是如果你着急调试程序,而tomcat却起不来,可以试试我这招,可以让你暂时避开这个问题继续调试程序,等闲暇的时候再回来解决这个问题!!!
方法很简单:
打开conf/server.xml这个配置文件
找到下面这行:
<Server port="8005" shutdown="SHUTDOWN"> <!--APR library loader. Documentation at /docs/apr.html -->
<!-- 下面这行本来是没有注释的,现在将这一行注释了,你的问题就暂时不会出现了 --> <!--<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />--> <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html --> <Listener className="org.apache.catalina.core.JasperListener" /> <!-- Prevent memory leaks due to use of particular java/javax APIs--> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> <!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html --> <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" /> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
看到了吧,将
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
这行配置注释了即可关闭APR
至于问题最完美的解决方案,我这里还没有,只能解一时之需,不影响工作进度。