애플리케이션 개발/Spring

Maven

sofiaaa 2020. 11. 19. 10:39
반응형

Maven 프레임워크이다. 

 

Maven 자바용 프로젝트 관리도구로 Apache Ant 대안으로 만들어졌다.

핵심 환경설정 파일은 pom.xml이다. 필요한 라이브러리를 정의해 놓으면 네트워크를 통해 자동으로 다운받아 준다.

따라서 pom.xml안에는 프로젝트에서 사용할 dependency 나열한다.

 

Maven local repository 와 remote repository 가지고 있다.

Local 컴퓨터 이고, remote https://mvnrepository.com/ 여기에 있다.

 

Maven 단점

Maven 쓰지 않고 dependency(라이브러리) 앱에다 추가하면 앱의 크기가 너무 커진다.

 

Maven 장점

Dependency 버전이 여러개 있어서, 앱이랑 혹은 라이브러리끼리 버전 맞추기가 어려운데,

Maven 라이브러리를 직접 준비하지 않고, maven 자동으로 준비해준다. 라이브러리들을 앱에 직접 저장하지 않고 local repository 저장해준다. 앱을 다른 곳에 옮기는 Migration 작업을 , 수월하게 pom.xml 작성하여 dependency 준비하고 크기가 작은 앱만 옮기면 된다.

 

예를 들어 A dependency 기술했는데, A dependency 필요한 B, C, D 다운해주고, 버전까지 맞춰주는 것이 가능한 이유는

Log4j 대한 dependency 찾아보면 groupid, artifactid, version으로 다른 dependency  구분하고 있고, 가져와서 pom.xml 작성하면 된다.

 

반응형

'애플리케이션 개발 > Spring' 카테고리의 다른 글

[JUnit5] No ParameterResolver registered for parameter 에러  (0) 2022.04.26
[Spring] Gradle  (0) 2022.04.24
Controller  (0) 2020.11.19
Maven 필수 개념  (0) 2020.11.19
spring  (0) 2020.11.19