spring boot를 실행시켰을 때 위와 같은 에러가 발생하며 run이 되지 않는다.
원인
다른 곳에서 이미 8080 포트를 사용해서 프로그램이 진행 중인 것이다. 이와 같은 상황이 발생할 수 있는 상황이 몇 가지 있다.
1. 코딩 후 intellij(본인은 ide로 intellij를 사용 중이다.)에서 spring을 종료시키지 않고 그냥 노트북을 닫았을 때 오류로 인해 다시 작업할 때 충돌이 일어난다. (안 돌아가는데 port는 잡아먹고 있는 것 같다.)
2. 여러 프로젝트를 진행 중일 때 동시에 실행시켰을 경우 (본인은 학교 수업 시간에 서버를 사용해야했는데 두 프로그램 모두 8080 포트를 사용해서 충돌이 일어났다.)
해결 방법
1. 해당 포트를 사용하는 프로세스를 강제 종료 시켜주는 방법이다.
기본 설정이 8080으로 되어 있으므로 터미널에 sudo lsof -i :8080 or lsof -i : 8080을 입력한다. 혹시 다른 포트를 사용 중이라면 8080자리에 대체하면 된다.
PID 번호를 기억한 후 sudo kill -9 77153 or kill -9 77153 (77153자리에 본인 컴퓨터에 나온 pid번호)를 입력한다.
이제 8080 포트가 비어있어서 에러가 일어나지 않는다.
2. 여러 프로그램을 작동 시 이러한 일이 일어나지 않도록 사용 할 포트 번호를 바꿔주는 방법이 있다.
application.properties, application.yml 파일에 작성해 주면 된다.
.properites인 경우 server.port = 원하는 포트
.yml 인경우
server:
port: 원하는 포트
(바꾸려는 포트가 사용 중인지 확인하고 싶으면 위에 나온 lsof -i :포트번호 를 활용한다. 아무것도 나오지 않으면 사용 중이지 않은 포트이다.)
'ETC' 카테고리의 다른 글
보상받는 데이터 수집 플랫폼, 픽플리 (0) | 2024.06.17 |
---|---|
고등학교 컴퓨터공학 진로 특강! (2) | 2023.08.02 |
XAMPP - PHP로 로컬에 저장해둔 mysql DB 컨트롤 하기 (오류 해결 방법)in MAC (0) | 2023.05.09 |
GitHub 사용하기 (GitHub 입문, GitHub 사용법) (0) | 2022.12.29 |
Intelli j IDEA 단축키 (0) | 2022.07.14 |