The Pursuit of Happyness

Apache Maven

카테고리 없음2016. 3. 18. 22:00

Maven 이란?

표준화된 프로젝트 관리를 위한 오픈소스 프레임워크. 프로젝트를 생성해서 빌드하고, 테스트, 리포트, 패키징 및 배포를 해주는 툴로 생각하면 된다. 또한 Maven repository 등을 이용해서 Java 프로젝트에서 필요로 하는 의존성 라이브러리도 관리해 준다.


Maven 을 이용하는 경우 다음과 같은 장점이 있다.

- 프로젝트의 디렉터리 구조를 표준화하여 개발자들이 다른 사람이 만든 프로젝트의 소스코드나 리소스 위치를 쉽게 파악할 수 있다.

- 대부분의 자바 프로젝트에서 참조해서 사용하는 오픈소스 의존성 라이브러리들을 일일이 찾아서 추가할 필요 없이 쉽게 관리할 수 있다.

배포시에 불필요한 테스트코드를 포함시키지 않으면서, 테스트 코드를 쉽게 작성하고 결과 확인이 가능하다.


간단한 Maven 사용법

* 원래 Maven 파일을 설치하고, 환경변수를 등록한 후에 콘솔 명령어를 이용해서 사용할 수 있으나, 이 포스팅에서는 eclipse 플러그인을 이용해서 사용하는 방법만을 기술하겠습니다. 


0. 사용 환경 

- JDK 1.8

- eclipse Mars (eclipse Mars 에는 기본적으로 Maven 플러그인이 설치되어 있음.)


1. eclipse 에서 File > New > Project > Maven > Maven Project 를 선택해서 새로 프로젝트를 생성한다.

Group Id 에는 기본 패키지 이름을, Artifact Id 에는 프로젝트 이름을 적어 주면 된다.


2. 일반적으로 src/main/java 에 프로젝트에 필요한 코드를 작성하게 되고, src/test/java 에 테스트에 필요한 코드를 작성하게 된다. 기본으로 App.java 코드와 AppTest.java 테스트 코드가 생성된다.


3. Maven은 pom.xml 파일로 프로젝트를 관리를 하게 되는데, 의존성 라이브러리를 추가하기 위해서는 pom.xml 파일의 dependencies 항목을 직접 편집해도 되고, eclipse Package Explorer 상에서 해당 프로젝트를 오른쪽 클릭. Maven > Add dependency 를 선택해서 나오는 팝업창에 필요 정보들을 입력하면 된다.

예를 들어, Guava 라이브러리를 추가하고 싶다면, http://mvnrepository.com/ 사이트에서 guava를 검색해서 라이브러리를 찾을 수 있다.

검색결과는 http://mvnrepository.com/artifact/com.google.guava/guava/19.0 이며,

pom.xml 에 붙여 넣을 수 있는 코드가 제공된다.



pom.xml 에 dependencies 항목에 직접 붙여 넣어도 되고, Add dependency 팝업에 필요한 정보 (groupId, artifactId, version) 를 아래와 같이 입력해도 된다.



Package Explorer 상에서 해당 프로젝트 이름을 오른쪽 클릭. Maven > Update project 를 실행하면 Maven Dependencies 에 필요한 라이브러리가 추가된다.



Maven 이 관리하는 의존성 라이브러리는 Maven의 로컬 저장소에 다운로드 되어 관리가 되며, 같은 라이브러리의 경우 다른 프로젝트에서 사용될 경우 다시 다운로드 하지 않고 기존에 받아 놓은 파일을 사용하게 된다.


4. Maven 을 이용해서 배포용 빌드를 생성하는 방법은 다음과 같다.

Package Explorer 상에서 해당 프로젝트 이름을 오른쪽 클릭. Run As > Maven build 를 실행한다.

처음 실행시 Configuration 설정 화면이 나오는데, Goals에 package 라고 적어준다.

실행을 하면 Compile > Test > Build phase 가 순서대로 진행이 되고, 문제가 없다면 target 폴더에 jar 파일이 생성된다.


5. 배포용 빌드를 생성할 때, 실행이 가능한 jar 형태로 패키지를 만들 수 있다.

eclipse Package Explorer 상에서 해당 프로젝트를 오른쪽 클릭. Maven > Add Plugin 을 이용해서 플러그인을 추가하면 되는데,

configuration 설정이 필요하니 pom.xml을 직접 편집해서 작성한다.

여기서 build > plugins > plug > configuration > archive > manifest > mainClass 를 자신의 프로젝트의 main 클래스로 지정한다.







Comment +0

@ 준비물

아래 링크에서 적당한 버전의 Java SDK 다운로드 합니다.

http://www.oracle.com/technetwork/java/javase/downloads/index.html

 

아래 링크에서 적당한 버전의 eclipse 다운로드 합니다.

http://www.eclipse.org/downloads/

 

아래 링크에서ant 다운로드 합니다.

http://ant.apache.org/bindownload.cgi

 

아래 링크에서 jsch 다운로드 합니다.

http://www.jcraft.com/jsch/

 

@ 설치

Java default 폴더에 설치하는 것을 권장합니다.

eclipse My Document 압축을 풀면 됩니다.

ant eclipse 설치 경로 아래 있는 plugins 폴더에 압축을 풀어줍니다.

jsch ant 폴더 아래 있는 lib 폴더에 jar 파일만 추가합니다.

 

eclipse 실행합니다.

Window > Preferences > Ant > Runtime

Classpath 탭에 있는 Ant Home 버튼을 눌러서 압축을 ant 경로를 지정합니다.

Comment +0