2008년 03월 22일
Maven
http://www.devzuz.com/web/guest/downloads PDF 설명서
http://m2eclipse.sonatype.org/update Eclipse Plug-in install
이해하기
메이븐은 다음과 같은 일을 한다고 한다
- 빌드프로세스를 좀더 편하게 해준다
- 일괄적인 빌드시스템을 제공한다
- 양질의 프로젝트 정보를 제공한다
- 개발의 우수사례의 지침을 제공한다(Providing guidelines for best parctices development)
- 새로운 기능을 적용하는데 있어서 투명성을 제공한다(뭐 인터페이스가 확립되서 새로운 기능 나와도 쉽게 가져다 쓸수 있다는 얘기...)
위와 같이 소개되어 있는데 구체적으로 이현수가 메이븐에 대해서 좀더 알아보고 사용해보려는 이유는 프로젝트에서 사용되는 라이브러리들의 버전 의존 관계를 관리할 수 있다고 해서이다.
다른거 다 필요없다 지금 당장 라이브러리들의 충돌, 불필요한 라이브러리들의 혼재 등이 문제가 되기때문에 관심을 갖게된 것이다. 앞으로 이부분을 어떻게 사용할 수 있나에 중점을 둬서 접근할 계획이다.
Ant를 다뤄본 사람은 쉽게 접근할 수 있다는 얘기도 있고 앤트와는 개념이 좀 많이 달라서 처음에 벽을 느끼게 될꺼란 얘기도 있는데 우선은 부딪혀 볼란다.
설치하기
지금 문서를 만들고 있는 시점에서 최신 버전은 2.0.8이다
다운로드페이지 에서 다운 받고 하단의 Installation Instructions 에 따라 간단한 환경변수 설정하면 설치 완료
간단한 테스트
Maven in 5 Minutes 페이지의 예제를 따라해보면 자동으로 프로젝트 와꾸가 생긴다
메이븐에서 제시하는 기본적인 프로젝트와꾸
최상위 디렉토리엔 pom.xml, properties 파일들, build.xml 파일들, 라이센스관련 파일들이 위치한다
그외에는 src 디렉토리와 target 디렉토리 그리고 .svn, CVS 같은 메타테이더 디렉토리만 위치하는걸 권장한다
(다중프로젝트일 경우 프로젝트 별로 별도)
Createing a project
- mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
라고 실행하면 실행한 위치 하위에 my-app 폴더가 생긴다
그리고 그 하위로 pom.xml, src 폴더가 생기고 src 하위로 main/java/com/mycompany/app/App.java,
test/java/com/mycompany/app/AppTest.java 파일이 자동으로 생성된다.
Build the Project
- mvn package
위의 명령을 입력하면 pom 파일에 packaging 에 정의된 jar 로 패키징 되는것 같다
pom.xml
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.neonos</groupId>
<artifactId>my-app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>my-app</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
my-app/target/my-app-1.0-SNAPSHOT.jar 파일이 생성된다
- java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App
로 기본적으로 만들어진 어플리케이션을 실행할 수 있다.
이클립스로 이사가기
위와 같이 만들어진 와꾸를 이클립스로 옮겨서 빌드프로세스를 유지해본다
살짝 복잡한 테스트
어떻게 쓸것인가?
이 글은 스프링노트에서 작성되었습니다.
# by | 2008/03/22 17:41 | 밥벌이 | 트랙백 | 덧글(0)






☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]