[스프링부트에러] - "Web server failed to start. Port 8080 was aleady in use" : 스프링부트프로젝트 실행시 포트에러(포트를 여러번 변경했는데도 에러발생시)

2020. 5. 24. 15:44Error/스프링부트

728x90

 

스프링부트 프로젝트를 생성해서 실행하는데 포트에러발생시 포트를 여러번 변경을 해줘도 에러가 발생할 경우 참고해주세용

아 저는 맥북유저입니다 !

 

 

[에러내용]

스프링부트 프로젝트 생성 후에  정상적이 실행확인을 하기위해

스프링 MVC의 컨트롤러를 빈으로 추가해서 정상적으로 동작하는지 확인해보려고

'boot01'프로젝트에 'org.zerook.controller.SampleController'를 생성해주고

스프링 부트를 실행해보았는데

아래와 같은 에러가 발생하였습니다.

 

 

[해결방법 1 - 이클립스 내에서 포트 중지]

저의 경우,

기존 프로젝트에서 8080포트를 사용했었는데,

그 프로젝트를 삭제한 후 새로운 프로젝트를 생성 후 또 다시 8080포트를 사용하였습니다.

그런데 기존에 포트를 실행중지 시킨 적이 없이 그냥 실행을 계속 시도하니까

새로운 프로젝트에서 8080포트를 실행하려고 하니 에러가 발생하는 듯 했습니다.

 

1-1. 그렇다면 실행되고 있는 포트연결을 중지시키는 방법은

이클립스 제일 상단 '빨간색네모(stop버튼)옆 화살표 클릭 - 프로젝트명 클릭 - 프로젝트 재실행' 해주면 됩니다.

1-2. 또 다른 포트를 중지시키는 방법은

'console창 우클릭 - Terminate/Disconnect All 클릭- 프로젝트 재실행' 해주면 됩니다.

 

 

 

 

 

[해결방법 2 - application.properties 포트 설정변경]

또 다른 해결방법으로는 application.properties에서 사용포트를 변경해주는 방법입니다.

프로젝트를 생성할 때 만들어진 'application.properties'파일에 'server.port=8000'(변경할 포트번호)를 입력 - 재실행

 

 

이클립스 내에서 포트연결을 중지도 해보고 사용포트를 변경 후 실행을 해봤는데도 아래와 같이 에러가 발생한다면?

 

[해결방법 3 - 터미널내에서 포트 죽이기]

터미널에 접속 후

'sudo lsof -i :[확인하고싶은포트번호]' 입력하여 실행중인 포트를 확인하여  봅니다.

(아 여러가지 시도해보느라 'application.properties'에 입력했던 'server.port=8000'을 지우고 재실행하였습니다. 그러니까 현재 저의 포트는 8080인거져..)

'sudo kill -9 [실행중인포트의PID]' 를 입력하여 실행중인 포트를 중지시킵니다.

(위에 이미지를 보면 Google꺼가 있고 java꺼가 있던데, 뭔지 잘 모르고 그냥 java꺼 PID 포트를 중지시켰습니다.

예시 : $ sudo kill -9 5565

728x90