반응형

1. 개요

 - gradle 프로젝트를 생성한다.

 - build.gradle을 작성하여 의존성을 주입한다.

 

2. Gradle 프로젝트 생성

 2.1. new / Spring Starter Project 선택

Spring Starter Project

 2.2. 프로젝트 초기 설정 입력

프로젝트 초기 설정 입력

 - Type을 Gradle, Java Version을 8로 선택 및 프로젝트 초기 설정 입력 후 Next를 선택한다.

 

2.3. 스프링 부트 프로젝트 설정

스프링 부트 프로젝트 설정

 - Web / Spring Web을 선택하고, Spring Boot Version은 임의로 2.4.4를 선택한다. 스프링 부트 버전은 build.gradle에서 수정이 가능하다.

 

 2.4. gradle 프로젝트 생성 완료

프로젝트 구조

 - 다음과 같은 구조로 프로젝트가 생성되었다.

 

3. build.gradle 작성

 

 3.1. build.gradle

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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.ssk'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
 
 
repositories{
    mavenCentral()
}
 
dependencies{
    compile('org.springframework.boot:spring-boot-starter-web')
    testCompile('org.springframework.boot:spring-boot-starter-test')
}
cs

 - build.gradle 파일은 말 그대로 gradle을 통해 빌드될 수 있도록 하는 설정파일이다.

 - 프로젝트 기본 설정, 의존성 주입, 플러그인, 레포지토리 설정 등의 정보가 들어있다.

 - ext는 전역변수를 설정하겠다는 의미이며, 10번째 라인을 보면 스프링 부트 그레들 플로그인의 2.1.7.RELEASE를 의존성으로 받겠다는 의미이다.

 - repositories는 저장소를 의미하며, mavenCentral은 메이븐 중앙 레포지토리, jcenter는 mavenCentral 저장소의 문제점을 개선한 레포지토리이다. 일반적으로 위처럼 이 두가지 저장소 정보를 넣어준다.

 - dependencies는 의존성을 추가하는 부분이다.

 - 13 ~ 16 라인의 플러그인들은 자바와 스프링을 사용하기 위한 필수 플러그인들이므로 필히 추가해야 한다.

 

 3.2. build.gradle 실행

build.gradle 실행

 - build.gradle 우클릭 / Gradle / Refresh Gradle Project를 선택하여 build.gradle을 실행한다.

 - 정상적으로 실행되었다면 프로젝트 라이브러리에 의존성이 추가된 것을 확인할 수 있다.

 

4. 에러 리포트

 4.1. could not run phased build action using connection to gradle distribution 에러

 

 첫번째 솔루션. project / properties / Gradle / 설정 변경

 - Gradle user home 및 java home 경로를 명시적으로 기입해준다.

 

 두번째 솔루션. build.gradle 소스 문제

  - 위 문제로도 해결이 되지 않아 코드 확인 중 plugin 관련 코드를 sourceCompatibility 아래에 적어놨던 것을 뒤늦게 확인했다. plugin 코드들을 sourceCompatibility 하위에 적어뒀다면 위 예제처럼 위로 올리면 해결된다.

반응형

+ Recent posts