Tomcat start up error

sjain picture sjain · Sep 3, 2010 · Viewed 24.4k times · Source

I am getting the following error in the Catalina log file while starting Tomcat on Windows:

Sep 3, 2010 3:22:53 PM org.apache.catalina.startup.Catalina start
SEVERE: Catalina.start: 
LifecycleException:  service.getName(): "Catalina";  Protocol handler start failed: java.lang.Exception: Socket bind failed: [730048] Only one usage of each socket address (protocol/network address/port) is normally permitted.  
    at org.apache.catalina.connector.Connector.start(Connector.java:1138)
    at org.apache.catalina.core.StandardService.start(StandardService.java:531)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Sep 3, 2010 3:22:53 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 67604 ms

But when I changed the port number from 8080 to 9000 then there was no error but the request to http://localhost:9000/ gives the 404 error The requested resource (/) is not available.

Am I missing something?

Answer

RedDragon picture RedDragon · Feb 17, 2011

One application is using the 8080 port. To find out which one, use the following command on Windows Command Prompt:

C:\>netstat -aon | findstr 0.0:8080

Then take the number in the last column (that's the process ID) and find out which is the process in task manager. If nothing comes out of the command, then you have no application using that port.