본문 바로가기
프로그래밍

[SpringBoot] build.gradle 설정

by 쁘니쁘나 2020. 9. 18.

Springboot에서 build.gradle의 기본 설정에 대해 알아볼게요 😄

 

우선 제일 먼저 들어갈 설정은 아래와 같습니다.

 

buildscript {
    // ext : build.gradle 에서 사용하는 전역변수를 설정하겠다는 의미
    ext {
        springBootVersion = '2.1.9.RELEASE'
    }
    repositories {
        mavenCentral()
        jcenter()
    }
    dependencies {
        // 스프링부트 그레이들 플러그인의 2.1.9.RELEASE를 의존성으로 받겠다는 뜻
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

 

buildscript는 project의 플러그인 의존성(라이브러리) 관리를 위한 설정이에요.

ext는 build.gradle 에서 사용하는 전역 변수를 설정하겠다는 의미이며, 해당 전역변수를 dependencies 내에 위와 같이 삽입하면 springboot gradle plugin의 2.1.9.RELEASE를 의존성으로 받겠다는 뜻이랍니다.

 

 

/* 앞서 선언한 플러그인 의존성들을 적용할 것인지 결정
 (io.spring.dependecy-management 플러그인은 스프링 부트의 의존성들을 관리해 주는 플러그인이라 꼭 추가해야함)
 이 4개의 플러그인들은 자바와 스프링 부트를 사용하기 위해서 필수 플러그인이라 꼭 추가해야한다.
 */
apply plugin : 'java'
apply plugin : 'eclipse'
apply plugin : 'org.springframework.boot'
apply plugin : 'io.spring.dependency-management'

 

그다음으로는 위의 apply plugin 코드 4줄을 추가해주는데요.

앞서 선언한 플러그인 의존성들을 적용할 것인지 결정하는 부분이에요. io.spring.dependecy-management 플러그인은 스프링 부트의 읜존성들을 관리해주는 플러그인이라 꼭 springboot를 사용한다면 꼭 추가해야 합니다! 사실 위 4개 전부 자바와 스프링 부트를 사용하기 위해서 필수 플러그인이라 저는 4개 다 추가했습니다.

 

 

/* 각종 의존성 (라이브러리)들을 어떤 원격 저장소에서 받을지 정한다.
 기본적으로 mavenCentral 을 많이 사용했지만, 최근에는 라이브러리 업로드 난이도 때문에 jcenter를 많이 사용.
 mavenCentral에 본인이 만든 라이브러리를 업로드하기 위해서는 많은 과정과 설정이 필요하지만,
 jcenter는 라이브러리 업로드를 간단하게하고 jcenter에 라이브러리를 업로드하면 mavenCentral에도 업로드될 수 있도록 자동화가능.
*/
repositories {
    mavenCentral()
    jcenter()
}

 

repositories 도 추가해주는데요. repositories는 각종 의존성(라이브러리)들을 어떤 원격 저장소에서 받을지 정하는 역할을 합니다. 

기본적으로 mavenCentral을 많이 사용했지만. 최근에는 라이브러리 업로드 난이도 때문에 jcenter를 많이 사용한답니다! mavenCentral에 본인이 만든 라이브러리를 업로드하기 위해서는 많은 과정과 설정이 필요하지만, jcenter는 라이브러리 업로드를 간단하게 하고 jcenter에 라이브러리를 업로드하면 mavenCentral에도 업로드될 수 있도록 자동화가 가능합니다.

 

 

/* 프로젝트 개발에 필요한 의존성들을 선언하는 곳.
 특정 버전을 명시하면 안된다. 버전을 명시하지 않아야만 맨 위에 작성한
 org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}
 의 버전을 따라가게 된다.
*/
dependencies {
    compile('org.springframework.boot:spring-boot-starter-web')
    compile('org.projectlombok:lombok')
    testCompile('org.springframework.boot:spring-boot-starter-test')
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

 

그리고 마지막으로 dependencies를 추가해주는데요.

프로젝트 개발에 필요한 의존성들을 선언하는 곳이에요. 여기에 특정 버전을 명시하게 되면 맨 위에 작성한 org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion} 의 버전이 적용되지 않으므로 버전은 명시하지 않기로 해요!

 

이렇게 build.gradle에 대해 정리해 보았구요. 

이동욱 님께서 출판하신 '스프링 부트와 AWS로 혼자 구현하는 웹서비스' 책을 읽으며 제 공부차 정리한 내용입니다!

 

 

 

 

 

댓글