spring 독학 일기

재윤·2025년 2월 24일

spring

목록 보기
1/1

Spring Boot를 사용한 간단한 웹 API 구현(helloworld!)

오늘은 이 블로그를 참고하여 Spring Boot를 사용한 간단한 웹 API를 구현해봤다.

느낀점

자세하게 써져있어서 따라가는데 어려움은 크게 없었지만, 호환성 문제로 디버깅이 되지 않았다.
우선 블로그에서는 intellij로 실습하였지만, 최근에 cursor이라는 IDE를 알게되어 cursor에 적용을 해봤다. 하지만 java 디버거가 설치되지 않는 문제가 생겼고, cursor ai에게 물어보니 현재까진 파이썬 위주의 개발툴로 사용된다고 하였다.(뭔가 아닌것 같은데 문제가 해결이 안되니 다른 방법을 찾아보는 방법이 최선이였다)

그래서 두번째로, visual studio code에 실행을 시켜봤다. cursor은 vs코드를 포크해서 만든거라 비슷할텐데 왜 vs코드에선 자바 디버거 설치가 되고 cursor에는 안되는지 잘 모르겠다.

아무튼 vs코드에는 다행히 자바 디버거가 설치는 되었지만, 실행이 안되었다. 다시 시작된 구글링과 지피티의 도움을 받아 자바 자체 버전이 낮아서 실행이 안되는거였다는 사실을 알게 되었다.
사실 helloworld를 출력하기 전에, eclipse로 Oracle DB에 파싱하여 회원정보를 조회하는 실습을 따라했는데, 거기선 java 1.8.0을 다운받으라길래 그냥 따라해봤고, 생각보다 최근에 쓰여진 글이였어서 당연히 상위호환인줄 알았었다.

문제 1. Gradle 빌드 실패

Could not determine the dependencies of task ':bootJar'.

Could not resolve all dependencies for configuration ':runtimeClasspath'.
Failed to calculate the value of task ':compileJava' property 'javaCompiler'.
Cannot find a Java installation on your machine matching this tasks requirements: {languageVersion=17, vendor=any vendor, implementation=vendor-specific} for WINDOWS on x86_64.
No locally installed toolchains match and toolchain download repositories have not been configured.

원인
Gradle이 Java 17을 찾지 못하고 있었다.

해결 방법
1. build.gradle 파일에서 Java toolchain 설정을 Java 21로 변경했다

java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}

  1. Gradle 캐시를 정리하고 다시 빌드했다.

    ./gradlew clean
    ./gradlew build --stacktrace

이렇게 하니까 잘 나왔다.

0개의 댓글