Computer Science/JAVA
Maven 이란? (Apache Maven)
해피단무지
2018. 8. 3. 10:57
Maven이란?
- 아파치 메이븐(Apache Maven)은 자바용 프로젝트 관리 도구
- 아파치 앤트의 대안으로 만들어졌으며, 아파치 라이선스로 배포되는 오픈소스 소프트웨어
POM
- POM = Project Object Model, 프로젝트 객체 모델
- 프로젝트 당 하나의 pom.xml
- 각각의 프로젝트는 pom.xml 파일을 하나씩 가짐
- POM은 프로젝트 자체와 의존성에 대한 설정 및 정보를 포함
- 메이븐은 pom.xml을 일겅, 프로젝트를 가공하는 방법을 이해
- 3가지 coordinates를 이용해 자원을 식별함
- Group ID: 프로젝트 그룹(자바의 패키지와 유사), 일반적으로 Full 도메인 이름을 사용하는 경우가 많음
- Artifact ID: 프로젝트 이름
- Version
- ex) JMH 프로젝트 만들때 mvn 명령어: mvn archetype:generate -DinteractiveMode=false -DarchetypeGroupId=org.openjdk.jmh -DarchetypeArtifactId=jmh-java-benchmark-archetype -DgroupId=com.example -DartifactId=jmh-sample -Dversion=1.0
- 플러그인과 골의 조합으로 실행한다. ex.
mvn <plugin>:<goal>
=mvn archetype:generate
- Archetype을 이용하여 Maven 기반 프로젝트를 생성할 경우 생성된 프로젝트 하위에 pom.xml 파일이 생성됨
- [출처] https://www.slideshare.net/sunnykwak90/ss-43767933
- [출처] http://dsmoon.tistory.com/entry/Maven-Quick-Guide (아주 잘 설명되어 있음)