Reputation: 41
Thanks in advance for any help!
I have reviewed ALL related posts on stackoverflow and none answer my problem.
Context:
Windows 10, Eclipse Neon.1 Release (4.6.1) with Tomcat support and Java 1. all of this running on a MacBook Pro running MacOS Sierra 10.12.1 in a Parallels Desktop 12 for Mac Pro Edition 12.1.0 virtual Windows 10.
When I start Eclipse everything is fine.
When I click the Eclipse Tomcat start button I get these exceptions:
16-Nov-2016 10:55:10 AM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre6\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\Parallels\Parallels Tools\Applications;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.8.0_102;C:\Program Files (x86)\Skype\Phone\;C:\Program Files (x86)\Private Shell;C:\PROGRA~2\COMMON~1\Odbc\FILEMA~1;C:\Users\terry.QUANTECH\AppData\Local\Microsoft\WindowsApps;;.
16-Nov-2016 10:55:10 AM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
16-Nov-2016 10:55:10 AM org.apache.coyote.http11.Http11Protocol init
SEVERE: Error initializing endpoint
java.net.BindException: Address already in use: JVM_Bind <null>:8080
at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:563)
at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:181)
at org.apache.catalina.connector.Connector.initialize(Connector.java:1141)
at org.apache.catalina.core.StandardService.initialize(StandardService.java:703)
at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:843)
at org.apache.catalina.startup.Catalina.load(Catalina.java:538)
at org.apache.catalina.startup.Catalina.load(Catalina.java:562)
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.load(Bootstrap.java:261)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:50)
at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:552)
... 12 more
16-Nov-2016 10:55:10 AM org.apache.catalina.core.StandardService initialize
SEVERE: Failed to initialize connector [Connector[HTTP/1.1-8080]]
LifecycleException: Protocol handler initialization failed: java.net.BindException: Address already in use: JVM_Bind <null>:8080
at org.apache.catalina.connector.Connector.initialize(Connector.java:1143)
at org.apache.catalina.core.StandardService.initialize(StandardService.java:703)
at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:843)
at org.apache.catalina.startup.Catalina.load(Catalina.java:538)
at org.apache.catalina.startup.Catalina.load(Catalina.java:562)
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.load(Bootstrap.java:261)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
16-Nov-2016 10:55:11 AM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8443
16-Nov-2016 10:55:11 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 583 ms
16-Nov-2016 10:55:11 AM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
16-Nov-2016 10:55:11 AM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.45
16-Nov-2016 10:55:11 AM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor gomenu.xml
16-Nov-2016 10:55:11 AM org.apache.catalina.startup.HostConfig deployDescriptor
WARNING: A docBase C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\gomenu inside the host appBase has been specified, and will be ignored
16-Nov-2016 10:55:11 AM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor gps.xml
16-Nov-2016 10:55:11 AM org.apache.catalina.startup.HostConfig deployDescriptor
WARNING: A docBase C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\gps inside the host appBase has been specified, and will be ignored
etc.
I look for what is running on port 8080 using TCPView and see:
javaw.exe 1676 TCP TerryWin10onMac 8080 TerryWin10onMac 0 LISTENING
javaw.exe 1676 TCPV6 terrywin10onmac.quantechsoftware.local 8080 terrywin10onmac.quantechsoftware.local 0 LISTENING
So it is Java and presumably Tomcat that has grabbed port 8080 twice.
I stop Tomcat, close Eclipse and see that all references in TCPView to port 8080 disappear.
I start Eclipse. TCPView still shows no references to port 8080.
I start Tomcat and see that a whole bunch of things appear in TCPView, two of which refer to port 8009 and two to 8080:
javaw.exe 7076 TCP TerryWin10onMac 8005 TerryWin10onMac 0 LISTENING
javaw.exe 7076 TCP TerryWin10onMac 8009 TerryWin10onMac 0 LISTENING
javaw.exe 7076 TCPV6 terrywin10onmac.quantechsoftware.local 8009 terrywin10onmac.quantechsoftware.local 0 LISTENING
javaw.exe 7076 TCP TerryWin10onMac 8080 TerryWin10onMac 0 LISTENING
javaw.exe 7076 TCPV6 terrywin10onmac.quantechsoftware.local 8080 terrywin10onmac.quantechsoftware.local 0 LISTENING
javaw.exe 7076 TCP TerryWin10onMac 8443 TerryWin10onMac 0 LISTENING
javaw.exe 7076 TCPV6 terrywin10onmac.quantechsoftware.local 8443 terrywin10onmac.quantechsoftware.local 0 LISTENING
And, of course, all the same exceptions as before.
I have tried to kill one of the 8080 processes, but they both have the same process ID! In fact, all of the port listeners shown above have the same PID.
It is not an option for me to change the port.
Any help with this at all would be greatly appreciated.
Many thanks,
Terry Kilshaw
Upvotes: 3
Views: 3521
Reputation: 8813
+1 for the detailed description of your research.
I recommend to you to review the <tomcat_home>\conf\server.xml
file and check all the ports declared into. Maybe the 8080 is repeated.
And do the same checking in the Eclipse's Server configuration: See that no port numbers are repeated.
Upvotes: 1