본문 바로가기

배운내용 정리

Spring port error

에러사항

Window 10 환경에서 Spring Boot세팅을 마치고 실행하려고 하다 보니 아래 사진과 같은 에러 발생

Web server failed to start. Port 8080 was already in use.

 

위의 에러는 Spring시작과 동시에 8080 포트를 사용하려고 하는데 그 포트에 어떤 프로그램이 사용 중이어서 실행을 못한다는 에러이다. 애초에 Spring Boot는 기본 실행포트가 8080이라 8080 포트에 어떤 프로세스가 실행 중이라면 실행이 불가능하다. 따라서 에러를 해결하기 위해 여러 구글링을 해서 찾아본 결과 해결 방법이 2가지가 있다.

 

해결방법

  1. 실행할 어플리케이션의 포트를 변경하면 된다.
  2. 8080 포트를 사용하고 있는 프로세스를 종료한다.

1번째의 해결방법은 Spring Boot 내부의 resouce파일 내부를 보면 application.properties파일이 있다. 

파일에 들어가서 아래의 코드를 입력 후 저장

server.port=8081

 

이후 실행하면 8081포트로 Spring-Boot가 실행된다. 만약 다른 포트로 지정하고 싶다면 8081 말고 원하는 포트로 변경하면 된다.

 

2번째의 해결방법은 다음과 같다.

cmd를 관리자 권한으로 실행후

netstat -ano | findstr 8080

위의 명령어를 입력하여 8080 포트를 사용하고 있는 PID값을 찾는다.

taskkill /f /pid (PID)

명령어를 통해 찾은 8080 포트를 사용하고 있는 PID를 (PID)에 입력해 주면 종료가 가능하다. 

이후 Spring Boot를 실행하면 정상적으로 실행된다. 다만 여기서 주의할 점이 8080 포트에 실행 중이던 프로세스가 중요한 프로세스일 경우 종료 시 발생하는 여러 상황은 본인이 대처해야 한다. 충분히 확인하고 종료하자.

따라서 1번째 방법을 추천한다.

 

해결한 이유

이번 에러를 해결하고자 했던 이유는 Spring Boot실행 시 8080 포트가 기본 포트이기에 컴퓨터 종료 후 Spring Boot를 실행하려고 할 때 매번 8080 포트에 어떤 프로세스가 사용 중이어서 8080이 기본 포트인 Spring Boot를 실행할 때마다 에러를 마주치기 싫었다. 따라서 1번 방법을 통해 포트를 변경함으로써 스트레스를 줄이고자 했다.

'배운내용 정리' 카테고리의 다른 글

REST  (0) 2023.11.07
IntelliJ 한글깨짐 현상 수정  (0) 2023.11.04
Java Thread(3)  (0) 2023.10.30
Java Thread(2)  (0) 2023.10.27
Java Thread(1)  (0) 2023.10.24