작성일
20230619, 20230703, 20240512
자바코드를 실행가능한 형태인 JAR 파일로 만들어주는 일련의 과정이다.
빌드 시스템(Build System)에 있는 그레이들과 메이븐은 소스코드를 이용해서 실행가능한 애플리케이션을 생성하는 과정을 자동화하는 프로그램이다. 자동화 과정에는 의존성 내려받기, 코드 패키징, 컴파일, 테스트 실행 등이 있다. 참고로 과거에는 메이븐을 많이 사용했으나 요즘은 그레이들을 많이 사용하는 추세이다.
CF. JAR vs. WAR
빌드 자동화 시스템으로, 우리가 작성한 자바코드를 설정에 맞게 자동으로 빌드해준다.
메이븐과 비교했을 때, 가독성이 좋고 설정이 가능하며 java, kotlin, grooby 등 다양한 언어를 지원한다. 이러한 언어를 통해 원하는 대로 빌드 스크립트를 작성할 수 있다. 뿐만 아니라, 빌드와 테스트 속도가 더 빠르다는 장점이 있다.
그레이들 프로젝트 생성하는 방법
New Project를 통해 Build System을 Gradle로 설정하기
스프링부트 프로젝트 생성하는 방법
[내블로그] https://velog.io/@song-eojin/SpringBoot-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0
gradle 기반의 build 스크립트로, 소스코드를 빌드하거나 라이브러리들의 의존성을 쉽게 관리할 수 있다. 라이브러리를 관리한다는 것이 build.gradle의 핵심이며, 이는 Groovy 또는 Kotlin 언어로 작성할 수 있다.
build.gradle 파일 여는 방법은 아래와 같다.
(참고로 아래 코드는 Groovy 언어로 작성하였다.)
필요로 하는 라이브러리들을 작성해두면, Gradle이 해당 라이브러리들을 Maven Repository라는 외부 저장소로부터 자동으로 다운로드해온다. 또한 라이브러리들 간의 의존성을 자동으로 관리해주기 때문에 충돌을 컨트롤해준다.
아래와 같이 External Library에서 Gradle이 가져온 외부 라이브러리들을 볼 수 있다.
빌드할 프로젝트의 정보를 설정하는 파일