프레임워크/스프링&스프링부트

[Spring Boot]build 설정파일

Spring boot에서 gradle로 빌드하기 우해서능 2가지 파일이 설정되어 있어야한다.

  1. build.gradle : 빌드에 관한 기능 정의
  2. settings.gradle : 프로젝트 구성 설정(싱글프로젝트의 경우 생략 가능 > 멀티 프로젝트의 경우 설정)
    1. 프로젝트간의 의존성을 구성

build.gradle

gradle을 사용하기 위해서는 우선 build.gradle 파일을 통해 빌드에 대한 처리를 작성해야한다.

build.gradle 내용 및 플러그인

/* 
* This build file was generated by the Gradle 'init' task.
* 
* This generated file contains a sample Java project to get you started. 
* For more details take a look at the Java Quickstart chapter in the Gradle 
* user guide available at https://docs.gradle.org/4.1/userguide/tutorial_java_projects.html 
*/ 

// Apply the java plugin to add support for Java apply plugin: 'java' 
// Apply the application plugin to add support for building an application apply plugin: 'application' 

// In this section you declare where to find the dependencies of your project 
repositories { 
	// Use jcenter for resolving your dependencies. 
    
	// You can declare any Maven/Ivy/file repository here. 
	jcenter() 
} 

dependencies { 
	// This dependency is found on compile classpath of this component and consumers. 
	compile 'com.google.guava:guava:22.0' 
    
	// Use JUnit test framework 
	testCompile 'junit:junit:4.12' 
} 
    
// Define the main class for the application 
mainClassName = 'App'

플러그인 추가

apply plugin:  라는 것이 gradle에서 플러그인을 사용하기 위한 것.

apply plugin: 'java'				//java 프로그램을 위한 기능을 제공하는 플러그인
apply plugin: 'application'			//응용프로그램에 대한 기능을 제공하는 플러그인

// Example 1. Applying a core plugin
plugins {
    id 'java',
    id 'application'
}

Example 2. Applying a community plugin
plugins {
    id 'com.jfrog.bintray' version '1.8.5'
}

plugins {
	//for core Gradle plugins or plugins already available to the build script
	id «plugin id»
	//for binary Gradle plugins that need to be resolved
	id «plugin id» version «plugin version» [apply «false»]   
}

Repositories

build.gradle에 기술된 내용에 '종속 라이브러리'에 대한 있다. Gradle에는 프로그램으로 필요한 라이브러리를 자동으로 다운로드하고 통합하는 기능이 있다. 

 

해당 장소에 각 프로그램들이 저장되어 어떤 저장소를 이용하는지를 빌드파일에 작성 설정하는 것이다.

repository {
	//저장소 설정
}

 

gradle은 보통 다음 두가지 저장소 서비스를 이용한다.

  1. mavenCentral() : Apache Maven 중앙 저장소를 이용하는 것
  2. JCenter() : Maven과 Gradle등 다양한 빌드 관리도구에서 사용할 수 있는 공개 저장소

Dependencies

저장소에서 필요한 라이브러리를 사용하는데 사용할 수 있는것이 dependencies 영역이다.

dependencies {
	//라이브러리 영역
}

 

  1. 컴파일시 의존 라이브러리 : compile 'com.google.guava:guava:22.0'
  2. 테스트 컴파일시 의존 라이브러리 : testCompile 'junit:junit:4.12'