This post is solely for software developers...
I just spent around 30minutes trying to figure out why my 'ol reliable Apache Tomcat failed to start up properly. Granted that it's been 6 months since I've used it. LOL!!! I had been "flirting" around with another application server... IBM to be exact.
After updating my version of Tomcat (previously, it was at 5.5.23 but now it's 5.5.27), the server still failed to start up.
Digging through the logs, I found the following:
17-Nov-2008 17:36:57 org.apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: create:
java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
The main error to take note is the
Address already in use: JVM_Bind. This usually signals to me that a port is in use.
Executing a netstat - a command at the command prompt, I found out that port 8005 WAS IN USE!!
Then, I suddenly remembered that I've just recently upgraded my VMWare Server application from 1.x to 2.0.x. The new version of VMWare Server utilizes a web-based console which is installed in a "light" Apache Tomcat too. This Apache Tomcat came embedded with VMWare Server installation package.
Now, in order to minimize conflict, I had to modify the settings for the external Apache Tomcat server, which is found at
Look for the following line,
<Server port="8005" shutdown="SHUTDOWN">
Modify this port from "8005" to whatever non-conflicting number you can find. I would suggest 8006. (^___^)
The reason why I would suggest modifying the external Apache Tomcat instead of VMWare's Apache Tomcat is that the VMWare Server application starts up automatically. Since I'm already familiar with good 'ol Apache Tomcat, we might as well modify that file.
Grrrr.. *sigh*... It's just Monday Blues...