English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Maven 튜토리얼

이 튜토리얼은 초보자를 위한 것이며, Maven 도구의 기본 기능을 이해하는 데 도움을 줍니다. 이 튜토리얼을 통해 배웠다면, Apache Maven에 대한 중급 수준의 전문 지식을 갖게 될 것입니다. 이제 더 높은 수준으로 진입할 수 있습니다.

Maven은 "전문가", "내사람"으로 번역되며, Apache에서 pure Java로 개발된 오픈 소스 프로젝트입니다. 프로젝트 객체 모델(POM) 개념을 기반으로 Maven은 중앙 정보 단편을 사용하여 프로젝트의 구축, 보고서 및 문서 등의 단계를 관리합니다.

Maven은 프로젝트 관리 도구로서, Java 프로젝트를 구축하고 의존 관리를 할 수 있습니다.

Maven은 C#, Ruby, Scala 및 다른 언어로 작성된 프로젝트를 구축하고 관리하는 데도 사용될 수 있습니다. Maven은 원래 Jakarta 프로젝트의 서브 프로젝트였지만, 현재 Apache 소프트웨어 재단에서 주도하는 독립적인 Apache 프로젝트입니다.

이 튜토리얼을 읽기 전에 이해해야 할 지식

이 튜토리얼은 주로 초보자를 대상으로 하여 Maven 도구의 기본 기능을 배우도록 돕습니다. 이 튜토리얼을 통해 배웠다면, Apache Maven에 대한 중급 수준의 전문 지식을 갖게 될 것입니다. 이후 더 고급한 지식을 배울 수 있습니다.

이 튜토리얼을 읽기 전에, 다음과 같은 기본 지식이 필요합니다:Java 기본.

Maven 기능

Maven은 개발자가 다음과 같은 작업을 완료하는 데 도움을 줄 수 있습니다:

  • 건설

  • 문서 생성

  • 보고서

  • 의존

  • SCMs

  • 발행

  • 배포

  • 이메일 목록

규약 설정

Maven은 일관된 표준 디렉토리 구조를 사용을 권장합니다. Maven은 규칙을 설정보다 우선시하는 원칙을 사용합니다. 가능한 한 이러한 디렉토리 구조를 준수하도록 합니다. 다음과 같이 표시됩니다:

디렉토리목적
${basedir}pom.xml과 모든 서브 디렉토리를 저장합니다
${basedir}/src/main/java프로젝트의 java 소스 코드
${basedir}/src/main/resources프로젝트의 자원, 예를 들어 property 파일, springmvc.xml
${basedir}/src/test/java프로젝트의 테스트 클래스, 예를 들어 Junit 코드
${basedir}/src/test/resources테스트에 사용되는 자원
${basedir}/src/main/webapp/WEB-INF웹 애플리케이션 파일 디렉토리, 웹 프로젝트 정보(예: web.xml, 로컬 이미지, jsp 뷰 페이지가 저장됩니다)
${basedir}/target패키지 출력 디렉토리
${basedir}/target/classes컴파일 출력 디렉토리
${basedir}/target/test-classes테스트 컴파일 출력 디렉토리
Test.javaMaven은 이름 규칙에 맞는 테스트 클래스 만 자동으로 실행합니다
~/.m2/repositoryMaven 기본의 로컬 저장소 디렉토리 위치

Maven의 특징

  • 프로젝트 설정은 일관된 규칙을 따릅니다.

  • 모든 프로젝트에서 공유됩니다.

  • 의존 관리에는 자동 업데이트가 포함됩니다.

  • 어느 거대하고 지속적으로 증가하는 라이브러리.

  • 확장 가능하며, Java나 스크립트 언어의 플러그인을 쉽게 작성할 수 있습니다.

  • 새로운 기능에 대한 액세스를 위해 추가 설정이 필요하지 않거나 필요한 경우가 적습니다.

  • 모델 기반 빌드 − Maven은 JAR, WAR 또는 프로젝트 메타데이터를 기반으로 한 배포와 같은 предопределенный 출력 유형에 프로젝트를 빌드할 수 있으며, 대부분의 경우 스크립트를 실행하지 않아도 됩니다.

  • 일관된 프로젝트 정보 웹사이트 − 빌드 과정과 동일한 메타데이터를 사용하여 Maven은 추가 문서를 포함한 웹사이트나 PDF를 생성할 수 있으며, 이를 프로젝트 개발 상태에 대한 표준 보고서에 추가할 수 있습니다.

  • 배포 관리 및 단일 출력 배포 − Maven은 추가 설정 없이 소스 코드 관리 시스템(예: Subversion 또는 Git)과 통합할 수 있으며, 특정 태그를 기반으로 프로젝트를 배포할 수 있습니다. 또한, 분배 위치에 배포하여 다른 프로젝트가 사용할 수 있습니다. Maven은 JAR와 같은 단일 출력을 배포할 수 있으며, 다른 의존성과 문서를 포함한 아카이브 또는 소스 코드로 배포할 수 있습니다.

  • 뒤ward 컴파티빌리티 − Maven의 오래된 버전에서 여러 모듈을 Maven으로 쉽게 이식할 수 있습니다. 3 중.

  • 자식 프로젝트가 부모 프로젝트 의존성을 사용할 때, 일반적으로 자식 프로젝트는 부모 프로젝트 의존성을 상속해야 하며, 버전 번호를 사용하지 않아도 됩니다.

  • 병렬 빌드 − 컴파일 속도가 일반적으로 향상됩니다20 - 50 %。

  • 뛰어난 오류 보고 − Maven은 오류 보고를 개선했으며, 오류의 전체 설명을 확인할 수 있는 Maven 위키 페이지 링크를 제공합니다.

    Apache Maven은 소프트웨어 프로젝트 관리 및 이해 도구입니다. 프로젝트 객체 모델(POM) 개념을 기반으로 Maven은 프로젝트의 빌드, 보고서 및 문서를 중앙 정보 관리합니다. Maven을 사용하면 Java 기반의 어떤 프로젝트도 빌드하고 관리할 수 있습니다. 이 튜토리얼은 Maven을 사용하여 Java로 개발하는 모든 프로젝트 개발의 일상적인工作中 사용하는 방법을 가르칩니다.