
- Operating System: Mac OS ( MacBook M1 Pro 14 )
- JDK version: 21
- Visual Studio Code Version: 1.87
- Spring Boot Version : 3.2.3
- Build Tool : Maven
- Dependecies :
thymeleaf , lombok , Spring boot Dev tools , Spring web
첫 스프링 부트 사용중에 생긴 오류였다. 학교 수업중에 실습한 내용인데 실습실에 있는 windows 컴퓨터가 아닌 내 Mac 으로 코드 작성후에 run을 했는데 계속해서오류가 났다.
HelloApplication.java:4: error: package org.springframework.boot.autoconfigure does not exist
import org.springframework.boot.autoconfigure.SpringBootApplication;
^
HelloApplication.java:8: error: cannot find symbol
@SpringBootApplication
^
symbol: class SpringBootApplication
HelloApplication.java:12: error: cannot find symbol
SpringApplication.run(HelloApplication.class, args);
^
symbol: variable SpringApplication
location: class HelloApplication
4 errors
이런식으로 import한 부분이 존재하지 않는다라고 떠서 애먹었다. 거의 이틀은 계속 해서 찾아봤는데 안나왔다... StackOverFlow 랑 Github , 티스토리 이곳 저곳 다 찾아봤다.
- 내가 생각한 원인
① Depedencies 오류
-> 의존성 부분에 오류가 존재할 수 있다는 블로그 포스팅들이 많았다. 의존성의 추가를 하지 않았거나 버젼 명시문제로 오류가 발생할 수 있다.
② 오랫동안 프로젝트 사용 x
-> 이런 경우에 실행이 안되는 경우도 있다고 한다. 나의 경우는 만든지 일주일도 안된 파일이기도 하고.. 해서 패스했다.
③ 자바 코드의 문제
-> 자바 코드상에 lombok의 문제로 getter 와 setter를 추가해주어야 한다는 것이다. 김영한님의 스프링 강의를 수강하신 분들중에 몇몇분이 이와 관련된 포스팅을 올리셨다.
④ Run , Java Run , Debug and Run
-> 그냥 런을 돌리면 오류가 발생하고 Java Run 으로 돌려보라는 포스팅이 있었다. 결과적으로 나의 경우는 4번째 케이스였다.
대부분의 포스팅이나 글에서는 위 세개중에 하나에 해당하는 것 같았다. 그중에서 의존성 오류에 관한 이야기가 제일 많았기에 첫 번째부터 해결해보고자 했다.
- 오류 해결
① : 먼저 의존성 추가에 결여된 부분이 있는지 확인했다. 의존성 4개는 잘 추가된 것을 확인했고 pom.xml 에 들어가서 혹시나 손상된 부분이 있는지 체크했다.
( 참고로 필자는 빌드 도구로 maven을 택했고 gradle의 경우는 안써봐서 모르겠다.)
두번째로 버젼 명시에 의한 오류 발생 가능성이 있었기에 버젼 부분을 체크했다.
3.2.3 버젼으로 잘 명시 되어있는걸 확인했다.필자는 첫 번째 케이스가 아니였기에 넘어갔지만 의존성 추가 문제나 pom.xml에서 의존성이 누락된 케이스도 존재하므로 체크 해보길 바란다.
② : 의존성 문제는 아니였기에 다음으로 넘어갔다. 사실 두 번째는 말이 안되는게 다시 자바 파일을 만들어서 돌려도 오류가 떳기에 넘어갔다.
③ : 자바 코드의 문제 가능성도 있어서 @getter , @setter도 추가해봤으나 오히려 오류가 10개나 증가했음. 이것도 아니였던걸로...
④ : 위에 3개 문제인줄 알고 이틀동안 머리 꽁꽁 싸매면서 찾아봤는데 아니였다. 그러다가 나랑 똑같은 오류 4개가 발생한 케이스가 깃허브에 있었다. 그래서 똑같은 방법으로 시도했고 결국은 성공했다..!1st. VsCode 상단에 있는 런 버튼 말고 java run을 해봐라
2nd. Debug and Run 을 눌러봐라첫 번째부터 시도했는데 다행히 잘 돌아갔다.
이와 관련된 블로그 포스팅이 다른분들에게도 도움이 될까 일단 링크를 남기도록 하겠다. https://github.com/redhat-developer/vscode-java/issues/2998
이번에 오류를 찾는 과정에서 얻게되는 지식도 있고 느껴지는 바도 많아서 개발 생활에 많은 도움이 될 것같다 ㅎㅎ..