[환경설정] build.gradle 스프링부트 프로젝트로 변경

my_mon·2023년 3월 18일
0
post-thumbnail

프로젝트 유형을 gradle로 하여 자바 프로젝트를 생성한 후, SpringBoot 프로젝트로 변경하는 방법을 알아보고 정리하고자 한다.

gradle.build 파일을 열어서 코드를 학인해보면 다음과 같다.

plugins {
    id 'java'
}

group 'com.myshop'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
}

test {
    useJUnitPlatform()
}

간단하게 작성되어있는 기본 코드에, 플러그인 의존성 관리를 위한 설정 코드를 작성해주자.

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

ext : build.gradle에서 사용하는 전역변수를 설정하겠다는 의미인데, ext 블록은 gradle 빌드 스크립트 전체에서 사용할 수 있는 추가 속성을 정의하기 위해 사용되는 특수한 블록이다. 'SpringBootVersion' 라는 전역변수를 정의하고 그 값을 '2.1.7.RELEASE'로 설정하는 Groovy 스크립트다.
즉, spring-boot-gradle-plugin 라는 스프링 부트 그레이들 플러그인의 2.1.7 RELEASE를 의존성으로 받겠다는 의미이다.

Repositories : 각종 의존성(라이브러리)들을 어떤 원격 저장소에서 받을지 정한다.


다음은 앞서 선언한 플러그인 의존성들을 적용할 것인지를 결정하는 코드다.

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

apply plugin: java : Java 플러그인을 적용하는 코드. Java 소스 코드를 컴파일하고 빌드할 수 있도록 도와준다.
apply plugin: eclipse : 이클립스에서 프로젝트를 가져올 수 있도록 프로젝트 파일을 생성한다.
apply plugin: org.springframework.boot : Spring Boot 애플리케이션을 빌드하기 위한 다양한 작업을 수행한다.
apply plugin: io.spring.dependency-management : Spring Boot 프로젝트에서 의존성 관리를 위해 사용되는 플러그인을 적용하는 코드다. 이 플러그인은 Maven 중앙저장소에서 의존성을 관리하며, 버전충돌을 방지하고 라이브러리의 버전을 쉽게 업그레이드 할 수 있도록 도와준다.

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

마지막으로 프로젝트 개발에 필요한 의존성들을 선언해준다.
처음엔 compile('org.springframework.boot:spring-boot-starter-web') 로 작성했지만, No candidates found for method call 메세지가 뜨면서 작동을 하지 않았다. 이유를 알아보니 Gradle 4.x 버전 이상부터는 implementation 이나 api 키워드를 대신 사용하도록 권장된다고 하여 바꿔준 것이다.

이렇게 개발에 필요한 빌드설정을 마쳤다. 모두 적용한 전체 코드는 이렇다.

buildscript {
  ext {
      springBootVersion = '2.1.7.RELEASE'
  }
  repositories {
      mavenCentral()
      jcenter()
  }
  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.myshop'
version '1.0-SNAPSHOT'
sourceCompatibility = 11

repositories {
  mavenCentral()
}

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

test {
  useJUnitPlatform()
} 	

이제 Reload Gradle Project를 클릭하여 프로젝트에 반영해주면 된다.
완료되면 우측의 Gradle 탭으로 들어가서 의존성들이 잘 받아졌는지 확인!

참고 : 스프링 부트와 AWS로 혼자 구현하는 웹서비스

profile
기록하는 사람

0개의 댓글