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 (아주 잘 설명되어 있음)


'Computer Science > JAVA' 카테고리의 다른 글

JVM Benchmark Applications  (0) 2018.07.27
JVM Warming Up(Warmup)  (0) 2018.07.27