인프런 커뮤니티 질문&답변

제이티시님의 프로필 이미지

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

User Service - Load Balancer

mvn 명령어 오류

21.10.26 16:31 작성

·

886

0

$ mvn spring-boot:run

이 명령어로 Userservice를 실행하려고 하면

다음과 같은 오류가 나옵니다. 

 (버전 3.8.1 컴파일 오류)

 

반면 $ maven --version 명령어로 버전을 확인하면

3.8.3 이라고 나옵니다.

이것은 강사님이 참조하라고 하신 maven 설치강좌대로

maven 공식홈피 가서 받고, 환경변수 추가해서

터미널로 구동되도록 설정한 것입니다. 

(최신 버전이 3.8.3이라 다운 받았던 것입니다.)

 

$ mvn -version은 3.8.3으로 반환하면서

$ mvn spring-boot:run의 실행은 3.8.1로 하려 해서  발생하는 오류 같은데, 이거 어떻게 해결하나요?

 

------------------------------------------

그리고 굳이

1) IntelliJ의 우측 상단의 초록색 실행버튼으로 실행

2) mvn spring-boot run 명령어로 따로 실행

꼭 이렇게 2가지 갈래로 나눠서 실행해야 하나요?

이렇게 안하면 앞으로의 진행에 무리가 있나요?

무리가 있다면 이 오류를 무조건 해결하고 넘어가야 하니..

답변 2

0

제이티시님의 프로필 이미지
제이티시
질문자

2021. 11. 03. 16:57

감사합니다, 해결됐습니다!

cmd나 PowerShell에서 $ java -version 했을 때 나오는 버전이랑,

프로젝트 생성 시 세팅하는 java SDK 버전(pom.xml파일에 기록되는 java 버전)을 일치시키니까 제대로 작동이 되네요.

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

2021. 10. 31. 22:05

안녕하세요, 이도원입니다. 

첨부해주신 이미지의 오류는 메이븐의 버전에 대한 오류라기 보다는 JDK 버전의 오류가 아닌가 싶습니다. 사용하고 계시는 JDK의 버전과 pom.xml 파일에서 지정한 버전을 확인해 보시기 바랍니다. 

IntelliJ에서의 직접 실행과 mvn 명령을 통한 애플리케이션의 실행을 따로따로 분리한 이유는 2개이상의 애플리케이션을 동시에 기동하여 테스트하기 위함입니다. 물론 IntelliJ에서도 설정을 변경하여 2개의 애플리케이션을 실행할 수 있으며(강의에서 테스트 했었습니다), mvn에서도 별도의 terminal(또는 cmd) 창을 띄워 여러개의 애플리케이션을 기동할 수 있습니다. 여러개의 애플리케이션을 기동하는 예제는 2~3군데 정도 나옵니다. 그런데, 위에서 말씀드린 JDK 버전만 pom.xml 파일에서 변경하시면 큰 무리없이 실행 될 듯 합니다. 

감사합니다.