Tomcat not starting (throwing java.net.BindException: )

these lines :

SEVERE: Failed to initialize end point associated with ProtocolHandler ["ajp-bio-8009"]
java.net.BindException: Address already in use: JVM_Bind <null>:8009  

imply that there is already a service running on port 8009. is there a tomcat (with ajp) running already?

if the service running on 8009 is needed you could change the connector configuration in server.xml to something like below :

<Connector port="8089" protocol="AJP/1.3" redirectPort="8443" />

It says the port number 8009 is already occupied by some other process running on your OS try searching for that process and stop it or make your tomcat to run on different (free) port


kill the respective (listening) process on this port i.e. 8009. use

netstat -a -o -n

to look for the PID of the process. It may look something like this TCP [::]:8009 [::]:0 LISTENING 892

use the taskkill command to kill the process. example:

taskkill /F /PID 892