아파치 메이븐

위키백과, 우리 모두의 백과사전.

아파치 메이븐
Apache Maven
Apache Maven logo.svg
개발자아파치 소프트웨어 재단
발표일2004년 7월 13일(18년 전)(2004-07-13)
안정화 버전
3.8.6 / 2022년 6월 6일(5개월 전)(2022-06-06)[1]
저장소
프로그래밍 언어자바
운영 체제크로스 플랫폼
종류빌드 도구
라이선스아파치 라이선스 2.0
상태지원 중
웹사이트maven.apache.org
메이븐 소프트웨어 도구는 자바 프로젝트를 위해 이러한 디렉터리 구조를 자동으로 생성한다.

아파치 메이븐(Apache Maven)은 자바 프로젝트들을 위한 빌드 자동화 도구이다. 메이븐은 C 샤프, 루비 (프로그래밍 언어), 스칼라 (프로그래밍 언어) 등의 언어로 개발된 프로젝트들을 빌드하고 관리하기 위해 사용할 수도 있다. 메이븐 프로젝트는 아파치 소프트웨어 재단에 의해 호스팅되며 이 재단은 한때 자카르타 프로젝트의 일부였다.

문법[편집]

수많은 프로젝트들은 프로젝트 오브젝트 모델(Project Object Model, POM)을 사용하여 구성되며 pom.xml 파일에 저장된다. 파일 내용은 다음과 같다:

<project>
  <!-- model version is always 4.0.0 for Maven 2.x POMs -->
  <modelVersion>4.0.0</modelVersion>
  <!-- project coordinates, i.e. a group of values which uniquely identify this project -->
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <version>1.0</version>
  <!-- library dependencies -->
  <dependencies>
    <dependency>
      <!-- coordinates of the required library -->
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <!-- this dependency is only used for running and compiling tests -->
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

위의 POM은 프로젝트의 고유 식별자(coordinates)와 JUnit 프레임워크의 의존성만을 정의한다.

디렉터리 이름 목적
프로젝트 홈 pom.xml과 모든 하위 디렉터리를 포함한다.
src/main/java 프로젝트의 전달 가능한 자바 소스 코드를 포함한다.
src/main/resources 속성(property) 파일 등 프로젝트의 전달 가능한 리소스를 포함한다.
src/test/java 프로젝트의 테스팅 자바 소스 코드(예: JUnit, TestNG)를 포함한다.
src/test/resources 테스트에 필요한 리소스를 포함한다.

같이 보기[편집]

각주[편집]

  1. “Maven Release Notes – Maven 3.8.6”. 《maven.apache.org》. 

외부 링크[편집]