아파치 메이븐

자바 프로젝트들을 위한 빌드 자동화 도구

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

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

문법 편집

수많은 프로젝트들은 프로젝트 오브젝트 모델(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.7”. 《maven.apache.org》. 

외부 링크 편집