티스토리 뷰

programming/JAVA와 maven

Maven이란?

dahye_e 2017. 2. 11. 23:02

메이븐이란? 

라이브러리에 대한 의존 관계를 관리, 프로젝트 빌드에 필요한 기능을 제공하는 역할을 합니다!

메이븐이 지원하는 기능에는? 

  • 빌드
  • 문서화
  • 리포팅
  • 의존 관계
  • 소스 코드 관리
  • 릴리즈
  • 배포

eclipse로 웹 개발을 하다가 마주하게 된 pom.xml..

처음 봤을 때는 이게 무슨 외계어인가 싶었습니다. '자바 세상의 빌드를 이끄는 메이븐' 이라는 책을 읽으면서 더욱 친숙해 질 수 있었던 maven!

maven은 eclipse에 기본으로 탑재되어 있다고 합니다! (메이븐 = pom.xml)이라는 말이 있습니다.

maven의 구조

아래는 처음 spring project를 생성하게 되면 기본적으로 생성되는 pom.xml파일 입니다.


maven의 라이프사이클

최종적인 빌드 순서는 compile-> test->package이다. 

1) compile : src/main/java 디렉토리 아래의 모든 소스 코드가 컴파일 된다.

2) test : src/test/java, src/test/resources 테스트 자원 복사 및 테스트 소스 코드 컴파일 된다.

* junit : 단위 테스트 프레임워크. 테스트 단계를 거치기 위해 의존 설정을 해준다.

3) packaging : 컴파일과 테스트가 완료 된 후, jar, war 같은 형태로 압축하는 작업.


*프로젝트를 처음 시작할때가 두번째 시작할때보다 느린 이유는 처음 실행할때 관련된 라이브러리를 다운로드 받기 때문입니다.

*짝프로그래밍 : 두 명 이상이 짝을 지어서 프로젝트를 하는 것. (책에 나왔던 단어라 정리!)


참고:  '자바 세상의 빌드를 이끄는 메이븐' - 박재성

'programming > JAVA와 maven' 카테고리의 다른 글

[JAVA] 익명클래스  (0) 2017.04.06
[JAVA] 내부클래스  (0) 2017.04.05
[JAVA] interface (default, static메소드)  (2) 2017.04.03