자바용 프로젝트 관리 도구로, POM(Project Object Model) XML 문서를 통해
해당 프로젝트의 버전 정보 및 라이브러리 정보들을 통합하여 관리
🔎 라이브러리 종속성
일반적인 프로젝트는 개발자가 필요한 라이브러리를 직접 찾아서 추가해야 하지만
Maven은 pom.xml 문서 하나만으로 필요한 라이브러리를 자동으로 설치하여
라이브러리 관리의 편의성을 제공해준다.
하나의 프로젝트에서 사용하는 자바 버전, 라이브러리, 플러그인 구성을
통합하여 관리할 수 있게 각 설정 정보를 XML로 문서화한 것
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion> <!-- Maven version -->
<groupId>edu.kh</groupId> <!-- package level 1, 2 -->
<artifactId>fin</artifactId> <!-- package level 3 -->
<name>fin</name>
<packaging>war</packaging>
<version>1.0.0-BUILD-SNAPSHOT</version>
<!-- properties : Maven이 적용된 프로젝트에서
공통적으로 사용할 버전 또는 설정값 정보 작성 -->
<properties>
<java-version>1.8</java-version>
<org.springframework-version>5.2.10.RELEASE</org.springframework-version>
<org.aspectj-version>1.9.4</org.aspectj-version>
<org.slf4j-version>1.7.25</org.slf4j-version>
</properties>
<!-- dependencies : 라이브러리 의존성 주입
Maven 프로젝트는 외부 저장소와 의존 관계를 맺고 있어
해당 태그 내에 지정된 형식으로 작성하면
네트워크를 통해 외부 저장소에서 자동으로 얻어와 세팅함 -->
<dependencies>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>${org.springframework-version}</version>
</dependency>
</dependencies>
<!-- build : 프로젝트 빌드 시 사용되는 플러그인 추가 및 버전 정보 설정 -->
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
</plugin>
</plugins>
</build>
</project>