같은 문제를 계속 찾아보게 되어서 정리하는 중..🐣
Port 8080 is already in use
스프링부트를 이용하여 개발한 내용을 로컬에서 확인하기 위해 실행 했을 때 아래와 같은 에러가 발생할 수 있습니다.
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2024-01-07T17:33:41.497+09:00 ERROR 46617 --- [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
Web server failed to start. Port 8080 was already in use.
GPT 님의 설명
포트 충돌 문제 (Port Conflict) :
오류: `Web server failed to start. Port 8080 was already in use.`
Spring Boot 애플리케이션이 사용하려고 하는 기본 포트인 8080이 이미 다른 프로세스에 의해 사용되고 있음을 나타냅니다. 웹 서버는 동일한 포트에서 두 프로세스를 실행할 수 없으므로, 이 문제가 해결되지 않으면 애플리케이션이 시작되지 않습니다.
따라서, 현재 8080 포트를 사용하고 있는 프로세스를 식별하고 종료하거나, Spring Boot 애플리케이션의 포트를 변경해야 합니다. 포트를 변경하는 방법은 application.properties 파일에 server.port=포트번호 라인을 추가하거나, 실행 시 명령줄 옵션으로 포트를 지정하는 것입니다.
해결 방안
1. 실행하려고 하는 애플리케이션의 실행 포트를 변경
2. 현재 포트를 사용하고 있는 프로세스를 종료
포트 변경하기
방법 1: application.properties 파일 사용
프로젝트 'src/main/resource 디렉토리 안에 있는 application.properties 파일을 엽니다. 이 파일이 없다면 새로 생성합니다.
# server.port=원하는포트번호
server.port=9090
방법 2: application.yml 파일 사용 (YAML 형식)
src/main/resources 디렉토리에 application.yml 파일을 엽니다. 이 파일이 없으면 새로 생성합니다.
# server:
# port: 원하는포트번호
server:
port: 9090
방법 3: 명령줄 인수 사용
애플리케이션을 실행할 때 명령줄에서 직접 포트를 지정할 수도 있습니다. 이 방법은 애플리케이션 실행 시 매번 포트를 지정해야 한다는 단점이 있습니다.
java -jar 애플리케이션명.jar --server.port=9090
또는, Gradle이나 Maven을 사용하는 경우:
./gradlew bootRun --args='--server.port=9090'
또는 Maven을 사용하는 경우:
mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=9090
프로세스 종료하기
macOS 프로세스 종료
1. lsof 명령어로 해당 포트를 사용하는 프로세스를 조회합니다.
lsof -i tcp:8080
결과값
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 1234 user 141u IPv6 0xb573212aedb33bdb 0t0 TCP 127.0.0.1:8080 (LISTEN)
2. 해당 포트를 사용하는 프로세스를 종료한다.
sudo kill -9 1234
Windows OS 프로세스 종료
1. cmd 창을 열고 아래와 같은 명령어를 입력해줍니다.
netstat -ano
결과값
프로토콜 / 로컬 주소 / 외부 주소 / 상태 / PID
TCP 0.0.0.0:8080 0.0.0.0 LISTENING 1234
2. taskkill 명령어로 해당 포트를 사용하고 있는 프로세스 종료한다.
taskkill /f /pid 1234
'Spring' 카테고리의 다른 글
[Spring] Swagger 설정 (2) | 2024.11.25 |
---|---|
[Spring] 예외 처리 시스템 구축하기 (0) | 2024.11.21 |
[Spring] 프로젝트 세팅 (2) | 2024.11.20 |