관리 메뉴

Just Do it

[스프링 기초 개념] pom.xml과 Maven이 무엇일까? 본문

신입 개발자가 되기 위해 공부했던 독학 자료들/자꾸 까먹는 기본 개념 모음

[스프링 기초 개념] pom.xml과 Maven이 무엇일까?

Seojoo21 2022. 2. 16. 13:29

스프링을 공부하다보면 항상 pom.xml 파일에 <dependency> 로 시작하는 코드를 추가하기도 하고 기존 코드를 수정하기도 한다.

그런데 정작 pom.xml이 정확히 무엇인지도 모른 채 사용하고 있어 이참에 내용을 정리해보기로 했다.  

 

*내용 출처: https://coding-hyeok.tistory.com/47

 

1. pom.xml의 정의
pom.xml은 간단히 말하면 Maven의 빌드 정보를 담고 있는 파일로, POM(Project Object Model)을 설정하는 부분으로 프로젝트 내 빌드 옵션을 설정하는 부분이다. 
이것은 다른 프로젝트에도 복사-붙여넣기하면 되기 때문에 범용성이 좋고, 협업할때에 버전을 통일하기에 편리하다.

 

2. Maven의 정의
자바 프로젝트를 관리하는 툴로, 미리 작성된 xml 파일을 이용하여 라이브러리를 자동으로 다운로드하거나 프로젝트를 빌드해준다. 즉, 자바 소스를 컴파일하고 패키지해서 deploy까지 자동화 해준다는 것이다.

 

오 그렇군... 그러니까 내 말로 정리를 해보면, pom.xml은 새로운 웹 프로젝트를 시작하기 전에 가장 먼저 프로젝트에서 사용할 여러 가지 프로그램 및 파일에 대한 기본 설정을 해주는 것이다. 예를 들면 자바 버전, setter&getter등 메서드들을 따로 만들지 않고도 어노테이션 하나만으로 편하게 사용하게 해줄 수 있는 Lombok.jar, spring-jdbc, spring-test 등의 여러 설정을 pom.xml에서 할 수 있는 것이다.

 

그런데 항상 설정을 할 때 <dependency> 코드를 만이 쓴다. 그럼 이것은 무엇인가?

 

3. dependency는 프로젝트의 라이브러리를 정의하는 태그이다. 

각각의 <dependency>는 <dependencies>태그 안에 들어가있다. 

그리고 각각의 라이브러리에 대한 최신 버전 및 태그는 Maven Repository에 들어가서 확인할 수 있다. 

mvnrepository.com/