티스토리 뷰

Dev/Spring

Spring Boot VI - Gradle Build

마이스토리 2016. 6. 9. 14:50

> Using the Gradle Build System with Spring Boot

> What is Gradle?

  • A software build system; Analogous to Maven
  • Modular to the core
  • Highly extensible
  • Robust multi-project support
  • Rich dependency managment,; transitive, exclusions, etc.
  • Groovy language

> How to Install Gradle

  • GRADLE_HOME 환경변수 추가
  • PATH 에 %GRADLE_HOME%/bin 추가
  • java version은 기본적으로 JAVA_HOME 환경변수의 것으로 사용된다.
  • 별도 java version을 지정하고 싶으면 %GRADLE_HOME%/bin/gradle.bat 에 JAVA_HOME 설정 추가
  • ex) set JAVA_HOME=C:\eGovFrame-3.5.1\bin\jdk1.8.0_45

  • > gradle -v 명령으로 환경설정 확인
  • C:\Users\Administrator>gradle -v


    ------------------------------------------------------------

    Gradle 2.13

    ------------------------------------------------------------


    Build time:   2016-04-25 04:10:10 UTC

    Build number: none

    Revision:     3b427b1481e46232107303c90be7b05079b05b1c


    Groovy:       2.4.4

    Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015

    JVM:          1.8.0_45 (Oracle Corporation 25.45-b02)

    OS:           Windows 7 6.1 x86

> build 파일 작성: build.gradle


buildscript {

  repositories {

    jcenter()

  }

  

  dependencies {

    classpath group: 'org.springframework.boot', name: 'spring-boot-gradle-plugin', version: '1.3.1.RELEASE'

  }

}


apply plugin: 'java'

apply plugin: 'eclipse'

apply plugin: 'spring-boot'


version = '1.0.0-SNAPSHOT'

sourceCompatibility = 1.8


ext {

  guavaVersion = '19.0'

  jadiraVersion = '4.0.0.GA'

  swaggerVersion = '2.3.0'

}


repositories {

  jcenter()

}


dependencies {

  compile group: 'org.springframework.boot', name: 'spring-boot-starter-web'

  compile group: 'org.springframework.boot', name: 'spring-boot-starter-security'

  compile group: 'org.springframework.boot', name: 'spring-boot-starter-actuator'

  compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa'

  

  compile group: 'org.springframework', name: 'spring-context-support'

  

  compile group: 'joda-time', name: 'joda-time'

  compile group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-joda'

  compile group: 'com.google.guava', name: 'guava', version: guavaVersion

  compile group: 'org.jadira.usertype', name: 'usertype.extended', version: jadiraVersion

  compile group: 'io.springfox', name: 'springfox-swagger2', version: swaggerVersion

  compile group: 'io.springfox', name: 'springfox-swagger-ui', version: swaggerVersion

  

  runtime group: 'org.hsqldb', name: 'hsqldb'

  runtime group: 'mysql', name: 'mysql-connector-java'

  

  testCompile group: 'org.springframework.boot', name: 'spring-boot-starter-test'

}


> gradle wrapper

> gradle wrapper --gradle-version 2.10

위 명령을 실행하면 project directory 내 아래 파일들 생성됨


> 최초 build

> gradlew assemble

* 위 명령어를 실행하면 필요한 jar 파일 다운로드 및 소스 compile, application jar파일 생성

* 아래 그림처럼 build 디렉토리 생성


> clean

> gradlew clean

* build 디렉토리 삭제


> 이후 수정 후 build 시마다

> gradlew clean assemble


> unit test

> gradlew clean check

* 위 명령 결과 아래과 같이 build/reports, build/test-results 가 생기고, reposrt/index.html에서 unit test 결과를 조회할 수 있다.





> compile and test 동시 수행

> gradlew clean build


> boot application 실행

> gradlew clean bootRun



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/02   »
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