티스토리 뷰
10월 17, 2017 7:44:09 오후 org.apache.coyote.AbstractProtocol init
심각: Failed to initialize end point associated with ProtocolHandler ["http-bio-80"]
java.net.BindException: Address already in use: JVM_Bind <null>:80
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:413)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:665)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:452)
at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:978)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:560)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:840)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:642)
at org.apache.catalina.startup.Catalina.load(Catalina.java:667)
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:253)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:427)
Caused by: java.net.BindException: Address already in use: JVM_Bind
at java.net.DualStackPlainSocketImpl.bind0(Native Method)
at java.net.DualStackPlainSocketImpl.socketBind(Unknown Source)
at java.net.AbstractPlainSocketImpl.bind(Unknown Source)
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:49)
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:400)
위와 같은 에러는 이미 8080 포트를 사용중일 때 나타난다.
이미 할당되어 사용되는 포트(21, 22, 25, 80 과 같은)를 톰캣이 사용하려고 할 때에도 나타나지만,
주로 개발중에 발생하는 경우는 이미 톰캣이 동작중인데, 다시 톰캣을 올리려고 할 때 발생하는 에러이다.
간혹, java.net.BindException: Address already in use: JVM_Bind 이라는 에러로 발생하기도 한다.
서버 포트가 이미 사용중이라니, 바로 포트를 비워주면 된다.
C:\>netstat -a -n -o 를 실행하면,
TCP 127.0.0.1:8081 127.0.0.1:8080 Listening 4 와 같은 문자열이 쭈욱 표시된다.
Local Address에서 포트를 확인한 후, 제일 오른쪽 PID를 확인한다.
PID에 해당하는 프로세스를 종료시키기 위해서는,
작업관리자 > 프로세스 끝내기를 이용하면 된다.
PID 로 프로그램서비스 찾기
tasklist /FI "PID eq 17088"
'JAVA' 카테고리의 다른 글
자바7에서 마음에 드는 다섯 가지 (0) | 2018.04.19 |
---|---|
static factory method (정적 팩토리 메소드) (0) | 2018.04.04 |
Jakarta POI Excel File 읽기, 쓰기, 셀컨트롤, 이미지 삽입 (0) | 2016.08.08 |
자바 압축 (0) | 2016.07.07 |