문제 발견
배포를 위해 AWS EC2 인스턴스를 생성하고 스프링부트를 띄우려고 로컬에서 EC2로 빌드 파일을 전송하려던 중
아래 사진과 같은 에러를 만났다.
사실 인텔리제이에서 애플리케이션을 실행할때도 봤던 문제긴 하지만 그때는 인텔리제이 설정으로 해결이 되었다.
하지만 이런 CLI에서는 인텔리제이 설정을 할 수 없어서 다른 방법을 찾아야했다.
문제 해결
에러 메시지를 읽어보면 자바 버전 문제라는것을 알 수 있었지만 해결 방법을 몰랐다.
결과부터 말하자면 시스템 환경 변수 설정에 classpath가 최신화 되지 않은 문제였다.
시도 해본 방법은 아래와 같다.
1. build.gradle 확인
에러 메시지에도 나오는 단어기도 하고 검색 해보면 sourceCompatibility를 확인 변경해주래서 확인해보았다.
하지만 build.gradle 파일에는 아래처럼 제대로 잘 적혀있었다.
2. 로컬의 자바 버전 확인
로컬에 깔린 자바 버전 문제일까 싶어서 확인해보니 자바 17버전으로 나왔다.
3. 시스템 환경 변수 확인
최종적으로 시스템 환경변수 설정 문제였다.
아득한 옛날 뭣도 모르고 인터넷 검색해서 자바 환경 변수 설정을 했던 적이 있었다.
당시엔 자바 11로 설치하고 환경 변수 설정을 했었다.
변경 전
변경 후
시스템 환경 변수 설정에서 JAVA_HOME을 원하는 자바 버전으로 변경한 후
CLI(본인은 Git Bash)를 다시 실행! 하고 빌드를 해보면 제대로 잘 동작한다.
'백엔드 > 트러블 슈팅' 카테고리의 다른 글
스프링부트 3.0이상 버전과 @ConstructorBinding (0) | 2024.04.02 |
---|---|
Unable to compute HS256 signature with JCA algorithm 'HmacSHA256' (0) | 2024.03.30 |
@Builder 를 이용한 생성자에서 초기화가 안되는 문제 (0) | 2023.09.26 |
No qualifying bean of type 'com.querydsl.jpa.impl.JPAQueryFactory' available: expected at least 1 bean which qualifies as autowire candidate. 에러 해결 (0) | 2023.09.25 |
Querydsl의 Q클래스가 import 안되는 문제 (0) | 2023.09.25 |