Apache Maven 은 Java 프로젝트의 빌드 · 의존성 관리 · 배포를 자동화하는 도구다. 프로젝트 정보와 설정을 pom.xml 하나로 관리한다 — 어떤 라이브러리를 쓸지, Java 버전은 무엇인지, 어떤 플러그인으로 빌드할지.
compile → test → package → install → deploy)로 돈다.~/.m2/repository 에 캐시한다.현행 버전은 3.9.16 이다.[1] 4.0 은 아직 RC 단계다.
JAVA_HOME 환경변수 또는 PATH 의 java.cd /opt
sudo curl -LO https://dlcdn.apache.org/maven/maven-3/3.9.16/binaries/apache-maven-3.9.16-bin.tar.gz
sudo tar xzvf apache-maven-3.9.16-bin.tar.gz
sudo ln -s /opt/apache-maven-3.9.16 /opt/maven
echo 'export MAVEN_HOME=/opt/maven' | sudo tee /etc/profile.d/maven.sh
echo 'export PATH=$MAVEN_HOME/bin:$PATH' | sudo tee -a /etc/profile.d/maven.sh
source /etc/profile.d/maven.sh
mvn -v
배포판 패키지(dnf install maven)로도 설치되지만 버전이 낮다.
mvn clean package # 빌드해 target/ 에 JAR/WAR 생성
mvn -DskipTests package # 테스트 생략
mvn install # 로컬 저장소(~/.m2)에 설치
mvn dependency:tree # 의존성 트리 확인
폐쇄망이나 캐시 목적으로 Nexus Repository 를 두었으면 ~/.m2/settings.xml 에 미러를 적는다. 모든 요청이 그 저장소를 거친다.
<settings>
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>https://nexus.example.com/repository/maven-public/</url>
</mirror>
</mirrors>
<servers>
<server>
<id>nexus</id>
<username>${NEXUS_USER}</username>
<password>${NEXUS_PASSWORD}</password>
</server>
</servers>
</settings>
최신 버전 3.9.16 — 2026-09-20 확인. https://maven.apache.org/download.cgi ↩︎ ↩︎ ↩︎
Installing Apache Maven. 2026-09-20 확인. https://maven.apache.org/install.html ↩︎