SpringBoot 빌드 & 포트 확인

u·2021년 9월 29일
0

SpringBoot

목록 보기
2/20

오늘은 SpringBoot 프로젝트를 명령어로 빌드하는 방법
그리고 "Web server failed to start. Port 8080 was already in use." 와 같은 오류가 떴을 때 해결하는 방법을 기록하려 한다.

Build

gradlew란?

Gradle Wrapper, 이미 존재하는 프로젝트를 새로운 환경에 설치할때 별도의 설치나 설정과정없이 곧 바로 빌드할 수 있게 하기 위함(Java나 Gradle도 설치할 필요가 없음. 또한 로컬에 설치된 Gradle 또는 Java의 버전도 신경쓸 필요가 없음. 따라서 항상 Wrapper를 사용할 것을 권장.)

gradlew는 유닉스 스크립트 파일로 build 명령어와 함께 사용된다.

--> 추후에 gradle에 대해 더 공부하면 gradle 관련 글들을 올릴 예정이다. 지금은 간단하게 알자.

java -jar "filename.jar"

filename.jar를 실행시켜주는 명령어다.
이 프로그램을 실행시켜주면 내장 톰캣을 통해 자체적으로 웹서버를 열수있다.
따로, 톰캣 폴더의 webapp안에 jar 파일을 넣지 않아도 된다는 것이다.

참고) JAR(Java Archive, 자바 아카이브)는 여러개의 자바 클래스 파일과, 클래스들이 이용하는 관련 리소스(텍스트, 그림 등) 및 메타데이터를 하나의 파일로 모아서 자바 플랫폼에 응용 소프트웨어나 라이브러리를 배포하기 위한 소프트웨어 패키지 파일 포맷이다. 또한 이 파일은 압축파일이다.
jvm(java virtual machine)위에서 실행되는 exe, sh 파일로 생각하면 편하다.

사용중인 포트 check & kill

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.

위와 같은 오류가 떴을 때 실행해야 하는 명령어들을 살펴보자.

사용중인 포트 check

$ lsof -i tcp:8080

lsof 는 list open files 의 약자로 시스템에서 열린 파일 목록을 알려주고 사용하는 프로세스, 디바이스 정보, 파일의 종류등 상세한 정보를 출력해 준다.

리눅스와 유닉스는 추상화된 파일 시스템(VFS - Virtual File System)을 사용하므로 일반 파일, 디렉터리, 네트워크 소켓, 라이브러리, 심볼릭 링크 등도 모두 파일로 처리되며 lsof 에서 상세한 정보를 확인할 수 있다.

사용중인 포트 kill

kill -9 8080

0개의 댓글