본문 바로가기

Tech/[Trouble Shooting] Logs

Error: LinkageError occurred while loading main class rokaf.hackathon.backend.BackendApplication java.lang.UnsupportedClassVersionError: rokaf/hackathon/backend/BackendApplication has been compiled by a more recent version of the Java Runtime (class file 요약InteliJ의 Java Runtime이 올바르지 않은 버전과 매칭됐을 때 발생하는 오류이다.나의 경우, Java 11로 Spring Boot 3.x 버전을 실행하려고 해서 발생했다.단순히 InteliJ의 설정만 변경해 주면 정상 동작한다. 해결우측 상단에 'Edit Configurations' 를 클릭한다. 아래와 같이 Spring Boot 와 호환되는 Java 버전인지 확인한다.필자의 경우 Spring Boot 3.x 을 사용하므로 Java 11에서 17로 변경해주었다. 더보기
No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.x.x was found. The consumer was configured to find a runtime of a library compatible with Java 16, packaged as a jar, and its dependencies declared externally, as well as attribut 요약Spring Boot Freamwork를 Gradle에서 Build할 때 정보를 올바르게 받아오지 못해서 발생하는 오류이다.나의 경우, Java 11를 통해 Spring Boot 3을 셋팅하는 과정에서 오류가 발생했다.나와 동일하다면 Java 버전을 17이상으로 업그레이드 시켜주면 된다. 해결첫 번째로 build.gradle 파일에 자바 몇 버전으로 명시되어 있는지를 확인해야 한다.아래와 같이 17 이상이라면 상관 없다. 두 번째로  InteliJ의 Settings 값이 잘못되어 있을 수도 있다.아래와 같이 Gradle JVM 버전이 자바 17 이상인지 확인해 보자. 더보기
java.lang.NullPointerException: null at springfox.documentation.schema.Example.equals(Example.java:131) ~[springfox-core-3.0.0.jar:3.0.0] 오류 요약접근 제어자를 실수로 public으로 했더니 오류가 발생했다.코드 내에서 lombok의 AllArgsConstructor를 통해 생성자 함수를 대체했는데, 이 부분이 문제였다.public 접근 제어자를 사용하면 lombok이 인식하지 못해 생성자 함수가 자동으로 생성되지 않게 된다.그 결과 to 필드가 초기화되지 않은 상태인 null이 된다. 이로 인해, springfox 문서화 도구는 해당 값에 대해 null를 뱉는 것이었다. 이런 사소한 실수는 정말 찾기 힘든 것 같다.원인 분석까지 했으니 다음에는 절대 실수하지 말아야지. 해결아래와 같이 접근 제어자를 public -> private으로 변경하면 된다.@Getter@AllArgsConstructorpublic class PostNaverMailS.. 더보기