过年的时候配置好的Tomcat,今天一用竟然启动不了。 我晕
java_home,catalina_base,catalina_home,全部是原来的配置。没有修改过,为什么不能用了那。遇到的问题如下:
1、启动Tomcat在cmd中输入: catalina.bat start
竟然出现会闪退。出现闪退怎么办那?也找不出其错误在那?最后才发现,用catalina.bat run可以让窗口停住。
2、试一下: catalina.bat run
终于错误会在cmd窗口中停留了
出现的结果是:
C:\Users\Flower>catalina.bat run
Using CATALINA_BASE: "D:\apache-tomcat-7.0.40"
Using CATALINA_HOME: "D:\apache-tomcat-7.0.40"
Using CATALINA_TMPDIR: "D:\apache-tomcat-7.0.40\temp"
Using JRE_HOME: "D:\java\jdk"
Using CLASSPATH: "D:\apache-tomcat-7.0.40\bin\bootstrap.jar;D:\apache-tomcat-7.0.40\bi
-juli.jar"
五月 10, 2013 8:06:52 下午 org.apache.catalina.core.AprLifecycleListener init
信息: Loaded APR based Apache Tomcat Native library 1.1.27 using APR version 1.4.6.
五月 10, 2013 8:06:52 下午 org.apache.catalina.core.AprLifecycleListener init
信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
五月 10, 2013 8:06:53 下午 org.apache.catalina.core.AprLifecycleListener initializeSSL
信息: OpenSSL successfully initialized (OpenSSL 1.0.1d 5 Feb 2013)
五月 10, 2013 8:06:54 下午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-apr-8080"]
五月 10, 2013 8:06:54 下午 org.apache.coyote.AbstractProtocol init
严重: Failed to initialize end point associated with ProtocolHandler ["http-apr-8080"]
java.lang.Exception: Socket bind failed: [730048] ?????????×???(Э?é/???????/???)????í??
at org.apache.tomcat.util.net.AprEndpoint.bind(AprEndpoint.java:446)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:610)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:429)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:981)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:814)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:633)
3、上网一查 原来是8080端口已经被占用了。
解决方法,一是更改tomcat中配置文件 web.xml 把端口改成一个末被占用的端口。
另一种方法是:查看是那个程序在占用这个8080端口,然后把它给关了。
4、用第二种方法解决:
1、查看端口占用情况:用命令 netstat -a
C:\Users\Flower>netstat -a
活动连接
协议 本地地址 外部地址 状态
TCP 0.0.0.0:135 Flower_PC:0 LISTENING
TCP 0.0.0.0:443 Flower_PC:0 LISTENING
TCP 0.0.0.0:445 Flower_PC:0 LISTENING
TCP 0.0.0.0:902 Flower_PC:0 LISTENING
TCP 0.0.0.0:912 Flower_PC:0 LISTENING
TCP 0.0.0.0:1025 Flower_PC:0 LISTENING
TCP 0.0.0.0:1026 Flower_PC:0 LISTENING
TCP 0.0.0.0:1027 Flower_PC:0 LISTENING
TCP 0.0.0.0:1029 Flower_PC:0 LISTENING
TCP 0.0.0.0:1032 Flower_PC:0 LISTENING
TCP 0.0.0.0:3306 Flower_PC:0 LISTENING
TCP 0.0.0.0:5357 Flower_PC:0 LISTENING
TCP 0.0.0.0:6000 Flower_PC:0 LISTENING
TCP 0.0.0.0:6001 Flower_PC:0 LISTENING
TCP 0.0.0.0:8009 Flower_PC:0 LISTENING
TCP 0.0.0.0:8080 Flower_PC:0 LISTENING
TCP 10.99.167.56:139 Flower_PC:0 LISTENING
TCP 10.99.167.56:15436 203.208.46.211:http CLOSE_WAIT
2、最后二到正无穷的是,发现原来自己的spring sts一直在开着,STS中的Tomcat服务器已经启动了。所以 8080端口也被占用。
真是二呀!!!!!
靠,写下来长长记性。。。
把STS关了,问题不就解决了。。。笨蛋!
发现写一篇博客只花不到十分钟,以后坚持了。记录自己的成长……