今天在启动tomcat的时候发现了一个古怪的错误。为什么用古怪这个形容词而不用奇怪这个形容词呢?让我们先看下面一段tomcat的启动信息。
严重: Error starting endpoint
java.net.BindException: Address already in use: JVM_Bind:8080
上面省略了一些堆栈信息。其实以前也经常出现这个错误,一般导致这个错误的原因是因为已经启动了一个tomcat了,然后又再启动一下,所以就报address already in use了。
但我把所有的javaw.exe都关掉了,再启动tomcat,还是报同样的错误。在cmd环境里输入netstat –ab查了一下,shift,原来是qqmusic.exe霸占了8080端口。
8080端口是一个非常有名的端口,一般用过代理的人都知道默认的http代理就是用8080端口,用过tomcat,JBoss等服务器的人都知道8080是它们的默认端口。QQMusic竟然冒天下之大不韪,强然霸占了8080端口。
解决方法:因为我们小组决定了统一开发环境,统一使用8080作为tomcat的端口,没办法,以后只有先启动tomcat,然后再启动QQMusic,让QQMusic自动重新选择另一个端口。