[Spring Boot, gradle] build.gradle compile() Error

김우진·2022년 8월 26일
0
post-thumbnail

build.gradle compile() Error

이 글은 "스프링 부트와 AWS로 혼자 구현하는 웹 서비스" 책 구현 중 발생한 문제입니다.

문제 발생 및 원인

책의 예제를 따라하기 위해 Spring Data Jpa와 H2를 아래와 같이 build.gradle에 추가하고 build를 하니 Error가 발생하였다.

compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('com.h2database:h2')

compile error

이에 원인을 찾아보니 StackOverflow에서 해결법을 찾을 수 있었다.

원인은 아래 사진과 같이 compile, runtime, testCompile, testRuntime이 Gradle 4.10버전 부터 쓰이지 않게 되었고, Gradle 7.0 버전부터는 아예 삭제되어 각각 implementation, runtimeOnly, testImplementation, testRuntimeOnly로 대체 되었다고 한다. 실제로 내 프로젝트의 gradle 버전을 확인해보니 7.5 버전이었다.

gradle/gradle-wrapper.properties

distributionUrl= ···/gradle-7.5-bin.zip

이전부터 gradle에서 라이브러리를 가져올 때 적용되는 범위로 인해 api 혹은 compile을 권장하지 않았던게 7.0 버전부터는 삭제된 모양이다. 해당 내용에 대해 궁금하면 다른 게시글인 woojing의 implementation과 compile의 차이를 보길 바란다.

해결

위 글에 맞춰 build.gradle에서 compile을 implementation으로 변경 후 build하니 잘 작동하였다.

implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'com.h2database:h2'

출처

썸네일 출처

unsplash페이지의 Brett Jordan님

0개의 댓글