본문 바로가기
언어/Java

Maven

by svcbn 2025. 12. 13.

12/12

 

Apache Maven

Maven 은 Apache 에서 개발한, Java 기반 프로젝트의 빌드 및 라이프사이클 관리를 자동화하는 도구. 소프트웨서 빌드, 테스트, 패키징, 배포, 라이브러리 의존성 관리를 이거 하나로 다 할 수 있다.

 

주요 특징

 

프로젝트 객체 모델 (POM)
Maven 은 pom.xml 이라는 XML 파일을 사용하여 프로젝트의 모든 설정(의존성, 빌드 설정, 버전 정보 등) 을 정의한다. 이 파일을 통해 프로젝트의 구조와 빌드 과정을 표준화할 수 있다.

자동 의존성 관리
프로젝트에서 필요한 외부 라이브러리(JAR, WAR 등) 를 pom.xml 에 명시하면, Maven 이 중앙 저장소에서 자동으로 해당 라이브러리와 필요한 하위 라이브러리들까지 다운로드하여 관리한다.

표준화된 디렉터리와 빌드 라이프사이클
미리 정해진 표준 디렉터리 구조와, 표준 빌드 라이프사이클을 따라 일관된 방식으로 프로젝트를 빌드할 수 있다.
소스 코드는 src/main/java, 테스트 코드는 src/test/java 등.
빌드 순서는 compile >> test >> package >> install >> deploy

플러그인 기반 아키텍쳐
모든 필드 작업은 플러그인에 의해 수행된다. 컴파일을 위한 maven-compiler-plugin, 테스트 실행을 위한 maven-surefire-plugin 등이 있으며, 필요에 따라 다양한 플러그인을 추가할 수 있다.

IDE 독립성
Maven 은 특정 IDE 에 종속되지 않고 일관된 빌드 환경을 제공하므로, 다른 IDE 를 사용하더라도 동일한 빌드 결과를 얻을 수 있다.

 

정리하자면, Maven 은 Java 개발 환경에서 각 프로젝트마다 빌드 스크립트를 직접 작성하고 라이브러리 버전 충돌을 수동으로 해결해야 했던 비효율성을 개선하기 위한 도구. 현재는 Java 생태계에서 Gradle 과 함께 가장 널리 사용되는 빌드 자동화 도구 중 하나이다.

'언어 > Java' 카테고리의 다른 글

@Keep  (0) 2026.01.12
final / @override  (0) 2025.12.22
JNI  (0) 2025.12.12