Maven
: 프로젝트를 관리하는 도구로
빌드 자동화 기능과 프로젝트 관리 기능을 제공함
pom.xml
- 프로젝트 관련 라이브러리(jar 파일)을 다운로드 및 관리
- 정형화된 프로젝트 디렉토리 구조 관리
- 빌드 프로세스 관리
- 의존성 관리 기능
1) 로컬 저장소
USER_HOME\.m2\repository
2) 중앙 저장소
http://mvnrepository.com
3) 원격 저장소
※로컬 저장소 -> 중앙 저장소 -> 원격 저장소 순으로 라이브러리를 검색함
만약 pom.xml에서 문제가 발생한다면 아래의 해결방법을 참고하길
[pom.xml 에러해결방법]
① 로컬 저장소 삭제
USER_HOME\.m2\repository 해당 경로 아래의 라이브러리를 삭제 후 재설치
② 네트워크 연결 확인
일반적으로 mvnrepository를 통해 다운로드 받고 이는 웹을 통해 다운받는 것이기 때문에
네트워크가 불안한 경우 정상적으로 다운로드가 안될 수 있다.
③ 라이브러리 버전 확인
pom.xml에 아예 잘못된 라이브러리 혹은 버전 정보를 기입해둔 경우
mvnrepository에 접속해서 해당 버전을 확인해봐야한다.
④ maven clean
프로젝트 > Run As > Maven clean 진행
Pom.xml 예시
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
위와 같이 xml을 작성하였다면 junit-3.8.1.jar이 다운로드되고 junit test 시 적용이 가능합니다.
scope 설정을 통해 의존 라이브러리를 적용할 시점을 제한할 수 있습니다
scope는 기본으로 compile이고 provided, runtime, test, system, import가 있습니다.
scope는 빌드 라이프 사이클과 관련되기 때문에 다음 글에서 라이프사이클을 알아보겠습니다.
[개발자의 시각]
Spring의 장점 중에 하나인 pom.xml은 라이브러리 관리가 용이하기 때문에 협업할 때 편합니다.
그런데 개인 프로젝트할 때는 문제가 없다가 협업코드 받아온 후 문제가 생기는 경우가 종종 있기 때문에
pom.xml 에러해결방법을 기억해두는 것이 좋습니다.
'개발일지 > SPRING' 카테고리의 다른 글
[JSP] JSP 내에서 노출 예약걸기 (0) | 2021.09.08 |
---|---|
[SPRING] DI(Dependency Injection) 설정 방법 (0) | 2021.06.12 |
[Spring] Dependency Injection(DI) 개념 (0) | 2021.06.05 |
[Spring] 빌드 라이프사이클 (0) | 2021.04.26 |
[SPRING] 스프링 시작 (0) | 2021.03.15 |