build.gradle에서 dependencies가 뭘까?

권 해·2023년 1월 4일
0

Spring

목록 보기
2/9
dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'mysql:mysql-connector-java'
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-validation'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	compileOnly 'org.projectlombok:lombok'
	annotationProcessor 'org.projectlombok:lombok'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

build.gradle 파일을 보면 다음과 같이 dependencies 메서드가 있다. 지금까지는 어떤 기능이 필요하다 하면, 인터넷에서 그냥 이곳에 추가하면 된다 라는 정도로만 알고 있었고, 정확히 어떤 역할인지 모르고 있었다. 이제는 이런 것 하나도 그냥 지나칠 수 없다.

Gradle의 의존성 관리

대부분의 소프트웨어 프로젝트는 라이브러리 형태로 재사용 가능한 기능에 의존하거나 모듈화된 시스템을 구성하기 위해 개별 구성요소로 나뉜다. 의존성 관리는 프로젝트에서 요구하는 의존성을 자동화된 방식으로 선언, 해결 및 사용하는 기술이다.gradle 공식문서에는 다음과 같이 종속성 관리에 대한 부분을 그림으로 설명하고 있다.

빌드 시 모듈을 사용할 수 있도록 하려면 그 모듈을 어디에서 찾을 수 있는지 gradle에게 알려야 한다. 그 모듈을 저장하는 위치를 저장소라고 한다. 빌드 저장소를 선언함으로써, gradle은 모듈을 찾고 검색하는 방법을 알게된다. 저장소는 로컬 디렉토리 또는 원격 저장소와 같은 다양한 형태로 올 수 있다.
build.gradle에서는 프로그램이 필요한 라이브러리나 플러그인을 자동으로 다운로드하고 통합하기 위해서, 어떤 저장소를 이용할 것인지 파일로 작성할 수 있다. 저장소에서 필요한 라이브러리를 사용하는데 사용할 수 있는 것이 dependencies 메서드이다.

0개의 댓글