개발/JAVA

Java | Tomcat | Java.net.BindException: Address already in use: JVM_Bind 오류

AM0530 2020. 2. 12. 12:14

배경상황 : 포트 오류난 톰캣 서버 말고 다른 포트를 쓰는 톰캣은 정상실행되는 상황.

오류 : 특정포트를 쓰는 톰캣서버 실행오류 

Java.net.BindException: Address already in use: JVM_Bind : 8282
해결 : 이클립스 Server탭에서 톰캣 서버 하위에 있는 war파일 2개 삭제 

 

cmd에서 netstat -ano 명령으로 프로세스 조회했을때도 

포트 8282(내 포트)를 쓰는 프로세스는 없었음

포트 8080 쓰는 프로세스도 없음

 

그래서 taskkill PID명령을 쓸 수 없었다

 

[해결방법]

1 제어판> 관리도구 > 서비스에서 Tomcat 우클릭 시작 

2 (시작하면) 다시 우클릭해서 중지 

3 cmd에서 netstat -ano 명령으로 다시 조회 

8080 포트 쓰는게 생겼다 

하지만 PID는 0이고 taskkill을 했을때 종료할 수 없다고 나왔다 

(메세지)

오류 : 프로세스(PID0)를 종료할 수 없습니다. 

원인 : 이 프로세스는 중대한 시스템 프로세스입니다. Taskkill에서 이 프로세스를 종료할 없습니다.

 

 

 

4 (해결) 이클립스 Server 탭에서 

(예시이미지)

톰캡 왼쪽에 있는 삼각형을 누르고 하위에 있는 war파일을 삭제했다. 

 

다시 정상실행됐고 

오류가 났던 4번째 톰캣은 war파일이 2개였다.