우선 지난포스팅에 말했듯이, 메이븐 프로젝트를 컴파일 하기 위해서는 윈도우 콘솔창의 지정한 위치에 메이븐의 기본폴더 구조와 POM.XML파일을 갖추고 있어야 한다.
처음엔 콘솔창에 해당 프로젝트 루트폴더가 있는 곳에서 mvn compile 이란 명령어를 실행했지만,
'mvn은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.
라는 오류 메세지가 나왔다. 그래서 책 찾아보니, 메이븐 사이트에서 다운받은 메이븐 이 내 컴퓨터의 PATH 환경변수의 경로가 올바르지 않을 경우 이런 에러 메세지가 나온다고 했다.
그래서 확인해보니 [메이븐 설치폴더]\bin 경로가 아예 존재하지 않아서 추가해주었다.
그런다음 다시 콘솔창에서 프로젝트 루트폴더에서 mvn compile을 하니 정상적으로 작동되었다.
그런데 또 새롭게 알게 된 사실이 있다.
메이븐을 컴파일 하면 우선적으로 내 컴퓨터에 저장되어있는 메이븐 저장소(메이븐 포컬 리포지토리) 에서
사용자가 POM.XML 파일에 의존한다고 명시한 아티팩트와 플러그인들이 이미 저장되어있는지 확인한 다음, 있다면 이 파일을 사용하고, 없다면, 메이븐 원격 중앙 리포지토리로부터 해당 파일을 다운로드하여 로컬 리포지토리에 복사한 뒤 그 파일을 사용한다.
즉, 무조건 인터넷에서 해당 의존관계의 모듈들을 다 다운받는게 아니라, 로컬에 없는것만 다운받는다는 것이다.
메이븐은 기본적으로 [사용자홈폴더]/.m2/repository 폴더를 로컬 리포지토리로 사용한다.
*repository : 저장소 라는 뜻.
'기록 > Spring framework' 카테고리의 다른 글
객체 조립기(Assembler)의 필요성. 2021-10-18 (0) | 2021.10.15 |
---|---|
메이븐프로젝트의 식별자: 아티팩트ID 2021-10-13. (0) | 2021.10.13 |
복습 chap 02. , 이클립스에 메이븐 프로젝트 import. , 이클립스와 자바 프로젝트와의 관계, 인텔리제이와 이클립스의 관계. (0) | 2021.10.07 |
한가지 Pointcut으로 여러 Aspect를 사용하기, 프록시 적용순서. 2021-06-09 (1) | 2021.06.09 |
스프링의 프록시 생성방식과 적용 실제 main 함수 사례. 2021-06-08 (0) | 2021.06.08 |