tomcat 中遇到的错误(一)

错误1:
2012-3-29 9:45:31 org.apache.catalina.mbeans.ServerLifecycleListener createMBeans
严重: createMBeans: Throwable
java.lang.NullPointerException
 at org.apache.catalina.mbeans.MBeanUtils.createObjectName(MBeanUtils.java:1086)
 at org.apache.catalina.mbeans.MBeanUtils.createMBean(MBeanUtils.java:504)
 at org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans(ServerLifecycleListener.java:570)
 at org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans(ServerLifecycleListener.java:366)
 at org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans(ServerLifecycleListener.java:535)
 at org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans(ServerLifecycleListener.java:498)
 at org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans(ServerLifecycleListener.java:656)
 at org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans(ServerLifecycleListener.java:628)
 at org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans(ServerLifecycleListener.java:278)
 at org.apache.catalina.mbeans.ServerLifecycleListener.lifecycleEvent(ServerLifecycleListener.java:129)
 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:747)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
 
错误分析:
 1.查看错误提示:createMBeans: Throwable  java.lang.NullPointerException  可以发现是NullPointerException 空指针异常
 2.了解org.apache.catalina.mbeans.ServerLifecycleListener类中的createMBeans方法的作用,官方文档
  提示:“Create the MBeans that correspond to every existing node of our tree. ”为每个对应的节点生成MBeans
  大体可以判断错误为节点错误。
 4.查看修改过的Context参数大致如下:
  <Context >
   .....
  </Context>
  同时项目路径在webapps下的example文件夹中,发现Context中没有指定path路径,tomcat找不到节点对应的项目。
 5.解决方法:在Context中加入path,例如:  
  <Context path="/example">
   .....
  </Context> 
  

错误2:
2012-3-29 10:16:20 org.apache.catalina.core.StandardContext resourcesStart
严重: Error starting static Resources
java.lang.IllegalArgumentException: Document base G:\apache-tomcat-6.0.35\webapps\connectionPool does not exist or is not a readable directory
 at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:142)
 at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4320)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4489)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
 at org.apache.catalina.core.StandardService.start(StandardService.java:525)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
2012-3-29 10:16:20 org.apache.catalina.core.StandardContext start
严重: Error in resourceStart()
2012-3-29 10:16:20 org.apache.catalina.core.StandardContext start
严重: Error getConfigured
2012-3-29 10:16:20 org.apache.catalina.core.StandardContext start
严重: Context [/connectionPool] startup failed due to previous errors
2012-3-29 10:16:20 org.apache.catalina.core.StandardContext stop
信息: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/connectionPool] has not been started
  
 错误分析:
  1.查看错误提示:Document base G:\apache-tomcat-6.0.35\webapps\connectionPool does not exist or is not a readable directory
   可以知道错误为不存在Context对应的目录或Context中path路径设置错误
  2.解决:在对应的目录中加入对应的项目或重新设置正确path路径
  
错误3:
2012-3-29 10:22:39 org.apache.coyote.http11.Http11Protocol start
严重: Error starting endpoint
java.net.BindException: Address already in use: JVM_Bind <null>:8080
 at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:549)
 at org.apache.tomcat.util.net.JIoEndpoint.start(JIoEndpoint.java:565)
 at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:203)
 at org.apache.catalina.connector.Connector.start(Connector.java:1122)
 at org.apache.catalina.core.StandardService.start(StandardService.java:540)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.net.BindException: Address already in use: JVM_Bind
 at java.net.PlainSocketImpl.socketBind(Native Method)
 at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
 at java.net.ServerSocket.bind(ServerSocket.java:328)
 at java.net.ServerSocket.<init>(ServerSocket.java:194)
 at java.net.ServerSocket.<init>(ServerSocket.java:150)
 at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:50)
 at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:538)
 ... 12 more
 
 ......
 
 错误分析:
  1.由提示 Address already in use: JVM_Bind <null>:8080 可知tomcat的8080被占用
  2.在命令提示符下使用netstat -nb  查看占用8080端口的程序,结束改程序或改变
   tomcat对应的默认端口:在server.xml中的
       <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
      修改port为其他值,如果想同时运行多个tomcat,还需要修改server.xml中的其他端口地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值