Maven
Maven을 사용해 빌드(build), 패키징, 문서화, 테스트와 테스트 리포팅, git, 의존성 관리, svn 등과 같은 형상 관리 서버와 연동(SCMs), 배포 등의 작업을 쉽게 할 수 있다.
CoC (Convention over Configuration)
CoC는 일종의 관습이다. 예를 들어 프로그램의 소스 파일은 어떤 위치에 있어야 하고, 소스가 컴파일된 파일들은 어떤 위치에 있어야 하고 등을 미리 정해놨다는 것이다. Maven을 사용한다는 것은 이러한 관습(CoC)에 대해서 알아나가는 것이다.
Maven을 사용할 경우 이점
- 의존성 라이브러리 관리가 편리하다. ( Dependency Management )
Maven을 사용하면 설정 파일에 몇 줄 적어줌으로써 직접 다운로드 받거나 하지 않아도 라이브러리를 사용할 수 있다.
- Maven에 설정한 대로 모든 개발자가 일관된 방식으로 빌드를 수행할 수 있다.
- 다양한 플러그인을 제공해줘서 많은 일을 자동화시킬 수 있다.
Maven pom.xml

- project : pom.xml 파일의 최상위 루트 엘리먼트(Root Element)
- modelVersion : POM model의 버전
- groupId : 프로젝트를 생성하는 조직의 고유 아이디를 결정한다. 일반적으로 도메인 이름을 거꾸로 적는다.
- artifactId : 해당 프로젝트에 의하여 생성되는 artifact의 고유 아이디를 결정한다. Maven을 이용하여 pom.xml을 빌드할 경우 다음과 같은 규칙으로 artifact가 생성된다. artifactid-version.packaging
위 예의 경우 빌드할 경우 examples -0.0.1-SNAPSHOT.jar 파일이 생성된다. - packaging : 해당 프로젝트를 어떤 형태로 packaging할 것인지 결정한다. jar, war, ear 등이 해당된다.
- version : 프로젝트의 현재 버전. (프로젝트가 개발중일 때는 SNAPSHOT을 접미사로 사용한다. Maven의 버전 관리 기능은 라이브러리 관리를 편하게 한다.
- name : 프로젝트의 이름
- url : 프로젝트 사이트가 있다면 사이트 URL을 등록하는 것이 가능하다.
위 pom.xml 파일에서 <dependencies/> 엘리먼트가 Dependency Management 기능의 핵심이다. 해당 엘리먼트 안에 필요한 라이브러리를 지정하게 된다.
참고 : boostcourse https://www.boostcourse.org/web316/lecture/16723?isDesc=false
웹 프로그래밍(풀스택)
부스트코스 무료 강의
www.boostcourse.org
'boostcource > boostcourse_web programming' 카테고리의 다른 글
| JDBC (Java Database Connectivity) (0) | 2024.04.24 |
|---|---|
| Maven 실습 (0) | 2024.04.22 |
| 데이터베이스 (0) | 2024.04.21 |
| JSTL -4 (0) | 2024.04.21 |
| JSTL -3 (0) | 2024.04.21 |