서론
본 포스팅은 MAC os 기준으로 작성되었습니다.
문득 Intellij 딸깍 실행이 아니라 터미널에서 프로젝트를 빌드하고 실행시켜보고 싶다는 생각이 들었다.
CORS 정책을 이것저것 실습해보려고 과거에 했던 Vue.js 프론트엔드 프로젝트와 Spring 프로젝트를 꺼냈는데 프론트엔드는 익숙하게 npm run dev를 치고 있었지만 정작 백엔드는 터미널에서 실행해본 적도 없었다는걸 깨달았다.
그래서 심심풀이로 시작했다.
Maven?
우선, maven이 무엇이냐하면
maven은 소프트웨어 프로젝트 관리 도구로 프로젝트 빌드, 패키징, 기타 관리 등을 지원해준다.
설치 방법은 brew를 사용해서 진행했다. 설치하는데 시간은 1분 넘게 걸렸던 것 같다.
% brew install mvn
% mvn -v
본론
% mvn clean install
이렇게 쉬운걸 왜 적어놓냐면 당연히 한 번에 되지 않아서이다.
그러면 이 에러는 왜 발생한걸까?
1. 자바 버전 확인
첫 번째로 의심해본 것은 자바 버전 문제이다. maven에서 설치된 java는 23 버전인데 pom.xml에는 17버전을 사용하는 것으로 작성되어있었다.
++ 자바 버전 바꾸는 것도 꽤나 귀찮아서 정리해두려한다.
zsh 명령어 + 양식이다.
java --version
/usr/libexec/java_home -V
nano ~/.zshrc
source ~/.zshrc
export JAVA_HOME=$(/usr/libexec/java_home -v 23.0.1)
export PATH=$JAVA_HOME/bin:$PATH
2. lombok 의존성 확인
자바 버전을 바꿔줬는데도 계속해서 오류가 발생했다.
프로젝트 코드를 보니 lombok 어노테이션을 사용하는 DTO 객체들이 만들어지지 않아 오류가 발생하는 듯 했다.
그래서 Lombok 의존성을 pom.xml에 추가해주었더니 해당 부분은 해결이 완료되었다.
삽질 끝에 컴파일까지는 성공했다.
하지만 mvn lifecycle에 따르면 default lifecycle을 위해 해야 할 일은 아직 남아있다.
나머지는 문제 없이 잘 지나갔고 마지막으로 아래 명령어만 입력한다면
mvn spring-boot:run
짜잔 아무튼 성공했다.
결론은 그냥 IDE 쓰세요. 백수니까 해본거지 좋은 거 냅두고 돌아가는 선택을 하지마세요.
'백엔드' 카테고리의 다른 글
[Spring] Spring Security 어떻게 작동하는가 (3) | 2024.12.17 |
---|