Spring (Boot) 로 개발한 application을 실행하기 위해서는 build라는 과정을 반드시 거쳐야 하는데, 쉽게 말해서 사람이 읽을 수 있는 형태로 작성한 코드 (Spring Boot)를 컴퓨터가 인식할 수 있는 형태로 변환하여 앱을 동작시키는 과정을 말한다.
이런 과정을 수행해주는 도구로, 흔히 쓰이는 gradle과 maven 이렇게 두가지 도구가 있다. Spring Boot 프로젝트를 처음 설정할때 gradle을 사용할지, maven을 사용할지 결정하여 프로젝트 생성할 수 있고, 어떤 것을 선택하는지에 따라 설정 방법에 약간씩의 차이가 생긴다
이렇게 만든 프로젝트를 실제로 동작 시키려면, 내 로컬 환경에 java 뿐만 아니라 gradle / maven 이 설치되어 있어야 작동이 가능하다. 하지만, 내 프로젝트를 실행하는 모든 사람이 나와 같은 환경에서 프로젝트를 동작시키는 것이 아니기 때문에, 실제 프로젝트 실행 시 다양한 변수가 생길 수 있다. (어떤 java 버젼을 사용하는지, 어떤 gradle 버전을 사용하는지 등등.. 에 따라서) 혹은, gradle 자체가 로컬 환경에 설치되어있지 않을 수도 있다.
gradle을 가지고 있지 않은 사람도 쉽게 내 프로젝트를 다운 받아서 실행할수 있도록 도와주는 도구가 바로 gradle wrapper (wrapper / gradlew) 이다.
프로젝트를 생성하고 설정하는 사람의 경우:
프로젝트를 다운 받아 실행하는 사람의 경우:
프로젝트를 초기 생성할때 gradlew로 생성하지 않았다면, 별도의 명령어를 사용하여, gradle wrapper 프로젝트로 변형해 주어야 한다
** 이 과정을 위해서는 gradle이 사전 다운로드 되어 있어야 함
$ gradle wrapper --gradle-version <버전명>
아래의 폴더 및 파일들이 생성된 것을 확인하면 성공!
프로젝트 소스 코드에 변경 사항이 생길 때, build를 새로 해주어야 한다. 이 경우 아래 코드를 입력하여 프로젝트를 재 빌드한다.
$ ./gradlew build
이미 gradle wrapper를 통해 빌드 된 프로젝트를 팀원 또는 협업하는 사람이 받아서 실행하는 경우라고 가정해보자. 이 경우 git 또는 다른 VCS를 통해 프로젝트 소스 코드만 다운로드 받아 놓은 상황이고 처음 프로젝트를 실행하는 상황일 것이다.
gradlew가 있는 프로젝트 최상단 루트 폴더로 가서, 터미널을 켜고 아래 명령어를 실행시킨다
$ ./gradlew bootRun
명령어를 실행하면, gradle/wrapper/gradle-wrapper.properties
에 명시되어있는 gradle 버젼이 자동으로 다운 받아지고, spring boot application이 실행되게 된다
실행 끝!
Gradle 공식 문서: https://docs.gradle.org/current/samples/sample_building_spring_boot_web_applications.html
Spring 공식 문서: https://spring.io/guides/gs/gradle/
간단한 설명 영상: https://www.youtube.com/watch?v=zAR3Ahr8VnA