SpringBoot :: 처음 시작하는 Gradle 프로젝트 (build.gradle)

Juwon Lee·2022년 7월 21일
0
post-thumbnail

spring initializr 를 사용하면 빠르게 spring boot 의 설정을 할 수 있지만,

공부하는 입장에서 build.gradle 의 코드가 무슨 역할을 하는지,

추가로 의존성 추가가 필요하면 어떻게 해야 하는지는 알고 넘어가보자.

먼저 IntelliJ 에서 New Project 로 Gradle 프로젝트를 생성한 후에

build.gradle 파일을 지우고 아래 코드들을 순서대로 작성해보자.

다 작성하고 나면 spring boot 에 필요한 최소 설정은 다 추가되어 있을 것이다.

// build.gradle
buildscript {
    ext {
        springBootVersion = '2.1.7.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

위 코드는 프로젝트의 플러그인 의존성 관리를 위한 설정이다.

ext 키워드는 build.gradle 에서 사용하는 전역변수를 설정하겠다는 것인데,

여기서는 springBootVersion 라는 전역변수의 값을 ‘2.1.7.RELEASE’ 로 설정하겠다는 뜻이다.

즉, dependencies 의 spring-boot-gradle-plugin 의 2.1.7.RELEASE 를 의존성으로 받겠다는 뜻 !

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

io.spring.dependency-management 플러그인은

스프링 부트의 의존성을 관리해주는 플러그인이니 꼭 추가해주자 !

repositories {
    mavenCentral()
}

dependencies {
    implementation('org.springframework.boot:spring-boot-starter-web')
    testImplementation('org.springframework.boot:spring-boot-starter-test')
}

repositories 는 의존성 라이브러리 들을 어떤 원격 저장소에서 받을 지를 결정.

기본적으로 mavenCentral 을 사용한다.

dependencies 는 개발에 필요한 의존성들을 선언하는 곳.

단, 의존성 코드에 특정 버전을 명시하면 안 된다 !

버전을 명시하지 않아야 맨 위에 작성한

spring-boot-gradle:${springBootVersion} 의 버전을 따라가게 된다

마지막으로 Load Gradle Changes 를 클릭하여 변경된 gradle 파일을 반영하면 끝 !

전체 build.gradle 파일은 다음과 같다.

buildscript {
    ext {
        springBootVersion = '2.1.7.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group 'com.jujuwon.book'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    implementation('org.springframework.boot:spring-boot-starter-web')
    testImplementation('org.springframework.boot:spring-boot-starter-test')
}

이제 의존성 추가할 줄 아니까 start.spring.io 로 가자 ..

profile
✏️ 하루의 기록

0개의 댓글