less than 1 minute read

java spring 실행 과정에서 BUILD SUCCESSFUL 메시지가 뜨며 로컬 포트가 열리지 않는 오류가 발생했다.

마치 정상수행이 되는 것처럼 보이지만, 포트가 열리지 않았으므로 브라우저에서 localhost:PORT로 접속이 불가능하다.

  • 정상 수행되는 다른 프로젝트와 로그 내용을 비교해 살펴보니, o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) 로그가 빠져있었다. Tomcat 라이브러리 의존성이 제대로 설정되지 않아서 생기는 문제인 것 같았다.
  • Test가 아닌 Main 어플리케이션에서 Run 시에도 동일한 현상이 발생하였다.
  • 저와 같은 문제를 겪는 경우, 마지막 부분만 읽으셔도 충분합니다.

1-build.gradle

dependency 부분에 org.springframework.boot을 추가했는지 확인한다. 나의 경우 과제 프로젝트를 fork해왔기에, 이 부분에는 문제가 없었다.

2-port-number

  • 포트 번호가 다른 프로세스에서 이미 할당되어있는지 확인한다.
  • application.properties에서 server.port값 디폴트 값(8080)이 아닌 값으로 설정해 주거나, 다른 프로그램을 종료시킨다. 나의 경우 tomcat 의존성의 문제로 보여 이 부분은 따로 설정하지 않았다.

3-library-export

  1. OS X 기준 Settings(cmd + ;) > Project Settings > modules 내의 dependencies 설정을 찾는다.
  2. mainorg.springframework.boot:spring-boot-starter-tomcat 의존성을 찾아, 이를 체크 표시로 변경(export)해 준다.
  3. Apply를 하고 OK를 눌러 다시 테스트하면, 서버가 정상 작동함을 확인할 수 있다.

서버가 정상 작동하므로, postman에서 api 요청 테스트도 정상 작동함을 확인할 수 있다.

Leave a comment