개발 환경
- Build : Gradle
- SpringBoot : 2.7.5
- Java : 11
- OS : Mac
발생
Description:
Web server failed to start. Port 8080 was already in use.
Action:
Identify and stop the process that's listening on port 8080 or configure this application to listen on another port.
> Task :OneyearfourcutApplication.main() FAILED
원인
실행시키려는 애플리케이션의 Port가 이미 사용되고 있어 충돌이 발생하여 위와 같은 에러가 발생한 것이다.
해결
방법 1. 기존 Port 종료
해당 Port를 종료시켜 에러를 해결할 수 있다.
Port를 종료하는 방법은 Terminal에서 이루어지며 명령어는 다음과 같다.
# 현재 사용중인 Port 확인
$ sudo lsof -i :"확인하려는 Port 번호"
# Port 종료
$ sudo kill -9 "PID"
위의 터미널 창을 확인하면 Command - java라고 되어 있다.
즉, java(Spring Boot)에서 8080의 포트를 사용하고 있다는 것이다.
다른 애플리케이션 실행 중이 아니고, Command가 java라고 되어 있다면 Port를 종료시켜 에러를 해결하도록 하자.
방법 2. Spring boot의 Port 변경
여러 개의 애플리케이션을 실행 중 또는 Port를 조회했을 다른 프로그램에서 사용 중이라면 삭제했다가는 또 다른 오류를 발생시킬 수 있다.
따라서 이럴 경우 실행시키려던 애플리케이션의 Port를 변경하여 오류를 해결하도록 한다.
Spring Boot에서 Port를 변경하는 방법은 다음과 같다.
# application.properties
server.port= "변경하려는 포트 번호"
# application.yml
server:
port: "변경하려는 포트 번호"
'SpringBoot' 카테고리의 다른 글
[SpringBoot] AWS S3 파일(이미지) 업로드 및 삭제하기 구현 (0) | 2022.11.28 |
---|---|
[SpringBoot] MockMvc - multipart() POST외 다른 HTTPMethod 사용하기 (0) | 2022.11.26 |
[TroubleShooting] SpringBoot Controller Test - MockMvc 302 Found, 403 Forbidden (0) | 2022.11.24 |
[SpringDataJPA] 쿼리메서드 참조 객체의 필드 사용 (0) | 2022.11.17 |
[Trouble Shooting] MaxUploadSizeExceededException (0) | 2022.11.03 |