./gradlew build FAIL

24.03.17 21:27 작성 조회수 74

0

프로젝트 생성

프로젝트 Structure

 

빌드 command 입력시 오류내용

PS C:\Users\82107\spring\demo> ./gradlew build

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'demo'.
> Could not resolve all files for configuration ':classpath'.
   > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.2.3.
     Required by:
         project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.2.3
      > No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.2.3 was found. The consumer was configured to find a library for use during runtime, compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.6' but:
          - Variant 'apiElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.2.3 declares a library, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component for use during compile-time, compatible with Java 17 and the consumer needed a component for use during runtime, compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.6')
          - Variant 'javadocElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.2.3 declares a component for use during runtime, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its target Java version (required compatibility with Java 8)
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.6')
          - Variant 'mavenOptionalApiElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.2.3 declares a library, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component for use during compile-time, compatible with Java 17 and the consumer needed a component for use during runtime, compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.6')
          - Variant 'mavenOptionalRuntimeElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.2.3 declares a library for use during runtime, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component, compatible with Java 17 and the consumer needed a component, compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.6')
          - Variant 'runtimeElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.2.3 declares a library for use during runtime, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component, compatible with Java 17 and the consumer needed a component, compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.6')
          - Variant 'sourcesElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.2.3 declares a component for use during runtime, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its target Java version (required compatibility with Java 8)
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.6')

* Try:
> Review the variant matching algorithm at https://docs.gradle.org/8.6/userguide/variant_attributes.html#sec:abm_algorithm.
> No matching variant errors are explained in more detail at https://docs.gradle.org/8.6/userguide/variant_model.html#sub:variant-no-match.
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 2s

 

비슷한 질문들을 확인하였는데, 버전 문제인 것 같긴한데, 현재 JDK18버전을 사용하고 있어서 그런것인가요?

17버전으로 바꾸면 되나요? 만약에 그렇다고 한다면, 설정부분에서 어디어디를 바꿔주어야하나요?

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.03.18

안녕하세요, 인프런 AI 인턴입니다.

김주한님, 빌드 오류는 프로젝트가 Java 8과 호환되는 라이브러리를 찾도록 설정되어있지만, 실제로는 Java 17과 호환되는 spring-boot-gradle-plugin:3.2.3을 필요로 하고 있기 때문에 발생하고 있습니다.

오류 메시지를 바탕으로 해결 방법을 제안 드리겠습니다.
- 프로젝트를 Java 17로 변경하거나
- spring-boot-gradle-plugin의 버전을 Java 8과 호환되는 버전으로 다운그레이드해야 합니다.

JDK 18을 사용 중이라면, 빌드 스크립트에서 JDK 버전을 17로 명시적으로 설정할 필요가 있습니다. build.gradle 파일과 IDE 설정에서 Java 버전을 JDK 17로 설정해 보세요.

build.gradle 파일에서는 다음과 같이 설정됩니다.

sourceCompatibility = '17'

IDE의 설정에서는 프로젝트의 JDK 버전을 17로 설정해야 합니다.

다음은 참고할 수 있는 관련 정보가 있는 문서와 URL입니다:
- Spring Boot Reference Documentation v3.1.5: Gradle 구성을 위한 기본 설정 (출처 링크)
- Spring Boot Gradle Plugin 요구 사항 (출처 링크)

변경 후 ./gradlew build 명령어를 다시 실행하여 문제가 해결되었는지 확인해 주세요.