Spring Boot 프로젝트에서 build.gradle 파일 역할

2023. 12. 13. 16:46·Spring Boot
목차
  1. build.gradle 파일에 있는 코드들은
  2. 각 역할이 무엇일까?
  3. plugins
  4. Proejct Metadata
  5. Java
  6. configurations
  7. repositories
  8. dependencies
  9. Test Task Configuration

 

 

 


 

build.gradle 파일에 있는 코드들은

각 역할이 무엇일까?

 

 


 

 

 

build.gradle 파일에 작성한 코드들을 가지고 Gradle 빌드 시스템을 설정하여 프로젝트를 구축하고 실행하는 데 필요한 여러 가지 측면을 관리하는 데 사용된다.

 

즉, 작성한 내용에 따라 프로젝트의 필요에 맞게 수정되고 구성될 수 있으며, 빌드 시스템이 프로젝트의 동작을 어떻게 정의하는지를 결정한다.

 

 

 

build.gradle 코드 예시

plugins {
	id 'java'
	id 'org.springframework.boot' version '3.2.0'
	id 'io.spring.dependency-management' version '1.1.4'
}

group = 'com.project'
version = '0.0.1-SNAPSHOT'

java {
	sourceCompatibility = '17'
}

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-mustache'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	compileOnly 'org.projectlombok:lombok'
	runtimeOnly 'com.h2database:h2'
	annotationProcessor 'org.projectlombok:lombok'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

tasks.named('test') {
	useJUnitPlatform()
}

 

 

 

plugins

 

해당 프로젝트에서 사용하는 플로그인들이 작성되어 있다.

 

예시로 

Java 프로젝트를 빌드하기 위해서 'java' 플러그인을 추가

 

Spring Boot 플로그인은 라이브러리의 디펜던스(dependencie)들도 모두 관리해 주기 때문에

플로그인에서 버전을 바꿔서 저장해 주면 다른 라이브러리 버전들도 같이 올라간다.

 

 

 

Proejct Metadata

 

위의 코드의 각 역할을 설명하자면

 

  • group = 'com.project'
    프로젝트의 그룹/패키지 이름을 설정
  • version = '0.0.1-SHAPSHOT'
    프로젝트의 버전을 설정

 

 

 

Java

 

java 소스 코드의 호환성을 설정하는 것으로

위의 코드에서는 java 17 버전을 사용하도록 설정했다.

 

 

 

configurations

 

프로젝트의 의존성을 설정하는 곳이다.

위의 코드에서는 lombok 때문에 configurations 종류에 annotationProcessor을 추가한 것이다.

 

 

 

repositories

 

프로젝트가 의존하는 외부 라이브러리나 플러그인을 가져올 수 있는 위치를 지정한다.

즉, 프로젝트가 의존성을 다운로드 받을 저장소를 지정하는 것으로 위의 코드에서는 Maven Central 저장소로 지정했다.

 

 

 

dependencies

 

프로젝트가 필요로 하는 외부 라이브러리나 모듈의 의존성을 정의한다.

위의 코드에서는 jpa, mustache, web, lombok, h2DB 등을 의존성으로 추가했다.

의존성 앞에 작성된 것이 Configuration으로 각 의존성이 사용되는 시점을 설정한다.

 

 

Configuration 종류

  • implementation
    프로젝트의 컴파일과 런타임 시에 모두 사용되는 의존성

  • compileOnly
    컴파일 시에만 사용되는 의존성

  • runtimeOnly
    런타임 시에만 사용되는 의존성

  • annotationProcessor (configuration에서 lombok 때문에 새로 추가한 것)
    컴파일 시에 소스 코드를 분석하고 처리하는데 사용되는 의존성
    주로 어노테이션 프로세서를 사용할 때 필요한 라이브러리를 정의한다.
    런타임에는 별로 필요하지 않지만 컴파일 시에만 필요한 라이브러리를 추가할 때 사용된다.
  • testImplementation
    테스트 코드를 작성할 때 필요한 의존성

 

 

 

Test Task Configuration

 

test 태스크를 구성하는 곳으로

위의 코드에서는 JUnit 테스트 플랫폼을 사용하도록 설정했다.

 

 



 


참고 및 출처

  • https://www.inflearn.com/course/%EC%A0%9C%EB%8C%80%EB%A1%9C-%ED%8C%8C%EB%8A%94-%EA%B9%83

 

 

 

 

저작자표시 비영리 변경금지 (새창열림)

'Spring Boot' 카테고리의 다른 글

application.yaml에 작성한 내용 설명  (0) 2023.12.22
서버 정지할 때 Build cancelled while executing task 에러 해결하기  (0) 2023.12.18
IntelliJ에서 한글이 깨져서 출력 되는 현상 고치기  (0) 2023.11.25
H2 DB를 웹 콘솔에서 접근할 수 있게 설정하기  (0) 2023.11.25
Repository의 상속 관계와 각 기능들  (0) 2023.11.25
  1. build.gradle 파일에 있는 코드들은
  2. 각 역할이 무엇일까?
  3. plugins
  4. Proejct Metadata
  5. Java
  6. configurations
  7. repositories
  8. dependencies
  9. Test Task Configuration
'Spring Boot' 카테고리의 다른 글
  • application.yaml에 작성한 내용 설명
  • 서버 정지할 때 Build cancelled while executing task 에러 해결하기
  • IntelliJ에서 한글이 깨져서 출력 되는 현상 고치기
  • H2 DB를 웹 콘솔에서 접근할 수 있게 설정하기
아-니지
아-니지
아-니지
성장 기록.zip
아-니지
  • 분류 전체보기 (266)
    • Language (76)
      • Java (39)
      • Kotlin (0)
      • HTML (10)
      • CSS (17)
      • Java Script (10)
    • JPA (11)
    • Spring Boot (27)
    • QueryDSL (2)
    • SQL [DB] (8)
    • Docker (29)
    • AWS (19)
    • Git & GitHub (17)
    • DevOps (1)
    • Terminology (14)
    • CS (50)
      • 컴퓨터 구조 (12)
      • 운영체제 (11)
      • 자료구조 (11)
      • 알고리즘 (0)
      • 네트워크 (16)
    • Record (7)
      • 알고리즘 풀이 (4)
      • 자바 메서드 (3)
    • Self Q&A (5)
hELLO· Designed By정상우.v4.5.3
아-니지
Spring Boot 프로젝트에서 build.gradle 파일 역할

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.