서론

본 포스팅은 MAC os 기준으로 작성되었습니다.

 

문득 Intellij 딸깍 실행이 아니라 터미널에서 프로젝트를 빌드하고 실행시켜보고 싶다는 생각이 들었다.

CORS 정책을 이것저것 실습해보려고 과거에 했던 Vue.js 프론트엔드 프로젝트와 Spring 프로젝트를 꺼냈는데 프론트엔드는 익숙하게 npm run dev를 치고 있었지만 정작 백엔드는 터미널에서 실행해본 적도 없었다는걸 깨달았다. 

그래서 심심풀이로 시작했다.

 

Maven?

우선, maven이 무엇이냐하면

Apache Maven 공식 홈페이지

maven은 소프트웨어 프로젝트 관리 도구로 프로젝트 빌드, 패키징, 기타 관리 등을 지원해준다.

설치 방법은 brew를 사용해서 진행했다. 설치하는데 시간은 1분 넘게 걸렸던 것 같다.

% brew install mvn
% mvn -v

maven version 확인

 

본론

% 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 compile 성공

삽질 끝에 컴파일까지는 성공했다. 

하지만 mvn lifecycle에 따르면 default lifecycle을 위해 해야 할 일은 아직 남아있다.

mvn repository default lifecycle

나머지는 문제 없이 잘 지나갔고 마지막으로 아래 명령어만 입력한다면 

mvn spring-boot:run

로컬 어플리케이션 실행 성공

짜잔 아무튼 성공했다.

 

결론은 그냥 IDE 쓰세요. 백수니까 해본거지 좋은 거 냅두고 돌아가는 선택을 하지마세요.

'백엔드' 카테고리의 다른 글

[Spring] Spring Security 어떻게 작동하는가  (3) 2024.12.17

+ Recent posts