build.gradle 파일은 Gradle 빌드 도구를 사용하는 프로젝트에서 프로젝트의 빌드 구성 및 관리를 위한 스크립트입니다
이 파일은 Grooby 또는 Kotlin DSL(Domain Specific Language)을 사용하여 작성되며, 프로젝트의 의존성 관리, 빌드 구성, 테스트 설정 등을 포함합니다
구조
일반적으로 build.gradle 파일은 다음과 같은 구조를 가집니다
plugins {
id 'java'
}
repositories {
jcenter()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks {
// 빌드 태스크 설정
}
위의 예제에서 `plugins`, `repositories`, `dependencies`, `tasks`는 각각 Gradle 빌드 스크립트에서 사용되는 섹션입니다
주요 섹션들
- plugins
`plugins` 섹션은 Gradle 플러그인을 설정하는 데 사용됩니다
예를 들어, Java 플러그인을 추가하려면 `id 'java'`와 같이 선언합니다 - repositories
`repositories` 섹션은 프로젝트에서 사용할 외부 저장소(예: Maven Central, jCenter 등)를 설정합니다
의존성을 해결하기 위해 Gradle은 여기에서 저장소를 검색합니다 - dependencies
`dependencies` 섹션은 프로젝트의 의존성 관리를 설정합니다
여기에는 프로젝트가 사용하는 외부 라이브러리 및 모듈의 의존성이 포함됩니다 - tasks
`tasks` 섹션은 빌드 프로세스에서 수행할 작업을 정의합니다
각 태스크는 특정한 빌드 작업을 수행하거나 다른 태스크에 의존하는 등의 작업을 정의할 수 있습니다
dependencies 설정
- implementation
`implementation`는 프로덕션 코드에서 사용되는 의존성을 설정하는 데 사용됩니다
이 의존성은 컴파일 시 클래스 경로에 포함되며, 런타임 시에는 애플리케이션의 클래스 패스에 추가됩니다
주로 프로젝트의 핵심 기능에 필요한 라이브러리를 추가할 때 사용됩니다 - compileOnly
`compileOnly`는 컴파일 시에만 사용되는 의존성을 설정하는 데 사용됩니다
이 의존성은 컴파일 시에만 클래스 경로에 포함되며, 런타임 시에는 제외됩니다
주로 컴파일 시에만 필요한 라이브러리를 추가할 때 사용됩니다 - testImplementation
`testImplementation`은 테스트 코드에서 사용되는 의존성을 설정하는 데 사용됩니다
이 의존성은 테스트 소스 코드의 클래스 경로에 포함되며, 테스트 시에만 사용됩니다 - runtimeOnly
`runtimeOnly` 키워드는 런타임 시에만 사용되는 의존성을 설정하는 데 사용됩니다
이 의존성은 컴파일 시에는 클래스 경로에 포함되지 않으며, 런타임 시에만 필요한 경우에 사용됩니다
주로 애플리케이션의 실행 환경에 따라 필요한 라이브러리를 추가할 때 사용됩니다
'-- Language -- > Java' 카테고리의 다른 글
[JAVA] POJO(Plain Old Java Object)란? (3) | 2024.03.12 |
---|---|
[JAVA] 접근제어자 이해하기 (0) | 2023.12.18 |
[JAVA] Java Doc 주석 (0) | 2023.12.15 |
[JAVA] 인터페이스와 추상 클래스의 차이 (0) | 2023.12.09 |
[JAVA] 추상 클래스와 추상 메서드의 이해와 활용 (1) | 2023.12.08 |