예제를 보면서 스프링부트에 입문하려고 했는데 31일 오늘, 예제를 그대로 따라가려고 하다가
- Java 8
- SpringBoot 2.1.7.RELEASE
- Gradle 4.10.2
위에 적힌 3가지의 각 버전을 맞추는 중, Gradle을 처음 써보는지라 2시간 정도를 헤맸다.
21년 12월 이후로 사는 분들에게 내 글이 도움이 됐으면 한다.
이 글에선 자바와 스프링부트 버전 설정의 설명은 하지 않는다ㅇㅇ
buildscript {
ext {
springBootVersion = '2.1.7.RELEASE'
}
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
repositories {
mavenCentral()
jcenter()
}
dependencies {
compile('org.springframework.boot:spring-boot-starter-web')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
처음엔 프로젝트 설정을 마치고 예제를 보면서 그대로 따라쳤다.
하지만 내 Gradle 버전은 7.1버전이였고, 이를 4.10.2로 다운그레이드 해야했다.
: 1트째에는 Gradle version change intelliJ로 구글링하여 ./gradlew wrapper --gradle-version [version]
을 터미널에 입력했다.
😠 근데 버전은 안바뀌고 이런 에러가 뜨면서 실패했다.
Could not find method compile() for arguments [org.springframework.boot:spring-boot-starter-web] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
: 이런 에러가 떴는데 이걸 처음엔 뭔지도 모르니까 그냥 무시했던것 같다. 알고보니 compile() 이라는게 7.1버전에서는 implementation
으로 적어야 한다고 하더라. 그래서 2시간 정도 사투를 하고 아래와 같은 해결방안을 유추했다.
- 지금 내가 사용중인 버전은 7.1이니까
compile
,testCompile
을 7.1에게 맞는 구문으로implement
,testImplement
로dependencies
를 수정한다../gradlew wrapper --gradle-version 4.10.2
를 터미널에 입력하여 다운그레이드를 시도한다.implement
,testImplement
->compile
,testCompile
로 다시 수정한다.
성공적으로 Gradle의 버전을 마무리했고 이제 예제를 따라 열심히 공부만 하면 된다.