what is maven maven tutorial
이 Maven 입문 자습서에서는 Maven이 무엇인지, Maven을 사용하는 이유, 정의, 기본 용어, Maven 리포지토리 유형 등을 설명합니다.
이 튜토리얼에서는 Maven, Maven의 정의, 개요, 운영 단계를 탐색하고 Maven의 기본 용어, Maven에서 수행하는 활동 및 Maven 저장소 유형을 자세히 이해합니다.
시작하자!!
이 Maven 시리즈의 튜토리얼 목록
튜토리얼 # 1 : Maven이란 무엇인가 – 초보자를위한 Maven 튜토리얼 (이 튜토리얼)
튜토리얼 # 2 : Maven에서 POM (프로젝트 개체 모델) 및 Pom.Xml이란?
튜토리얼 # 3 : Gradle 대 Maven 및 Maven 플러그인
튜토리얼 # 4 : Maven 종속성 및 Eclipse 및 TestNG와의 통합
튜토리얼 # 5 : Jenkins를 사용한 Maven 및 프로젝트 용 Maven 문서
튜토리얼 # 6 : 31 가장 자주 묻는 Maven 인터뷰 질문 및 답변
학습 내용 :
Maven이란?
Maven은 일반적으로 Java로 빌드 된 프레임 워크에서 사용되는 빌드 및 프로젝트 관리 도구입니다. Apache Software Foundation에서 개발했습니다. 이디시어의 단어 인 Maven은 '지식 수집 자'를 의미합니다. Jakarta Turbine Project에서 빌드를 트리거하는 프로세스를 만들기 위해 도입되었습니다.
Maven은 pom (Project Object Model) 파일에 의해 제어됩니다. 자바 내장 프레임 워크로 작업하는 동안 우리는 종종 많은 종속성을 처리해야합니다.
Maven이 등장하기 전에 JAR 파일에 불과한 모든 종속성을 프레임 워크에 수동으로 추가해야했습니다. 또한 프로젝트에서 소프트웨어 업그레이드를 처리해야했습니다.
경험이 풍부한 JMS 인터뷰 질문 및 답변
Maven은 프로젝트 JAR 및 라이브러리가 자동으로 다운로드되도록합니다. 소프트웨어 버전 및 종속성 유형과 관련된 정보 만 pom .xml 파일에 설명하면됩니다.
Maven은 Ruby, C # 및 기타 언어로 된 프로젝트를 처리 할 수 있습니다. 프로젝트, 종속성 및 문서 구축 작업을 수행합니다.
Apache Software Foundation에서 개발 한 또 다른 도구 인 ANT는 프로젝트 빌드 및 배포에도 사용됩니다. 그러나 Maven은 ANT보다 더 발전했습니다. ANT와 마찬가지로 Maven은 빌드 프로세스를 간단하게 만들었습니다. 즉, Maven은 개발자의 삶을 쉽게 만들었습니다.
Maven을 사용하는 이유
Maven은 다음 활동을 수행합니다.
- 종속성을 가져 오는 저장소.
- 조직 전체에 유사한 폴더 구조를 가지고 있습니다.
- Jenkins와 같은 지속적 통합 도구와 통합.
- 테스트 실행을위한 플러그인.
- 소프트웨어 / 프로젝트가 어떻게 개발되고 있는지에 대한 정보를 제공합니다.
- 빌드 프로세스가 더 간단하고 일관성이 있습니다.
- 프로젝트에서 따라야 할 모범 사례에 대한 지침을 제공합니다.
- 프로젝트 성능을 향상시킵니다.
- Maven의 새로운 속성으로 이동하기 쉽습니다.
- Git과 같은 버전 제어 도구와 통합.
Maven은 릴리스, 배포,보고, 빌드, 문서화 및 SCM과 같은 프로세스를 처리합니다. Maven은 Maven Central 저장소에 연결하고 로컬에서로드합니다. Maven을 사용한 프로젝트 개발을 지원하는 IDE 중 일부는 NetBeans, Eclipse, IntelliJ 등입니다.
Maven은 다음 시나리오의 프로젝트에서 사용해야합니다.
- 프로젝트에 많은 종속성이 필요한 경우.
- 종속성 버전을 자주 업그레이드해야하는 경우.
- 프로젝트에 빠른 문서화가 필요한 경우 소스 코드를 JAR 또는 ZIP 파일로 컴파일하고 패키징합니다.
Maven의 운영 단계
#1) 첫 번째 Maven은 POM .xml 파일을 통과합니다.
#두) 종속성은 로컬 저장소에로드됩니다.
#삼) 아래와 같이 Maven의 기본 제공 수명주기를 거칩니다.
- 기본: 프로젝트 배포를 처리합니다.
- 깨끗한: 오류를 제거하여 프로젝트를 정리하고 빌드의 이전 프로세스에서 생성 된 아티팩트를 제거합니다.
- 대지: 프로젝트 문서를 관리합니다.
# 4) 각 기본 제공주기에는 여러 단계가 있습니다. 예를 들면, 기본은 23 단계로 구성되어 있으며 클린 및 사이트에는 각각 3 단계와 4 단계가 있습니다.
# 5) 각 Maven주기는 특정 단계에 특정 목표가있는 여러 단계를 거칩니다.
몇 가지 중요한 단계는 다음과 같습니다.
- 확인: 완료 할 빌드에 대한 모든 전제 조건 데이터를 사용할 수 있는지 확인합니다.
- 엮다: 소스 코드가 컴파일됩니다.
- 테스트 컴파일 : 테스트 소스 코드가 컴파일됩니다.
- 테스트: 단위 테스트 케이스가 실행됩니다.
- 꾸러미: 소스 코드는 JAR 또는 ZIP 파일로 컴파일되고 패키징됩니다.
- 통합 테스트 : 패키지가 배포되고 문제가있는 경우 통합 테스트 케이스가 실행됩니다.
- 설치 패키지 : 로컬 저장소에 설치됩니다.
- 배포 : 패키지 사본은 원격 저장소에서 사용할 수 있습니다.
이러한 단계는 순서대로 실행되어야합니다. 또한 전개 단계, 즉 Maven주기의 끝 단계를 실행 한 다음 해당주기의 모든 이전 단계를 성공적으로 완료해야합니다.
명령 프롬프트에서 단계는 다음과 같은 방식으로 실행됩니다.
mvn , 예를 들면 mvn 검증
# 6) Maven 목표 그룹이 한 단계를 구성합니다. Maven의 단계와 마찬가지로 각 목표는 특정 순서로 실행되어야합니다.
목표에는 다음 구문이 있습니다.
플러그인 : 목표
여기에서는 몇 가지 단계와 관련 목표에 대해 논의했습니다.
- 컴파일러 : 컴파일 (컴파일 단계에서 사용됨)
- 컴파일러 : 테스트 (테스트 컴파일 단계에서 사용됨)
- 확실한 : 테스트 (테스트 단계에서 사용됨)
- 설치 : 설치 (설치 단계에서 사용)
- jar : war (포장 단계에서 사용됨)
- war : war (패키징 단계에서 사용됨)
Maven이 작동하는 방식의 작동 단계는 아래에 다이어그램으로 표시됩니다.
Maven의 용어
- POM : Project Object Model을 의미합니다. 프로젝트에 대한 정보, 프로젝트에 존재하는 종속성, 소스 파일의 디렉토리, 플러그인 정보 등이있는 XML 파일입니다. Maven이 프로젝트를 완전히 빌드하는 데 필요한 데이터입니다. Maven은이 모든 정보를 얻기 위해 pom 파일을 읽습니다.
POM XML 파일의 코드 조각이있는 Eclipse IDE의 Maven 프로젝트는 다음과 같습니다.
- GroupId : 모든 프로젝트에서 우리 프로젝트를 고유하게 인식합니다. GroupId는 pom 파일의 일부입니다. 종종 프로젝트 그룹의 정체성이라고합니다.
- ArtifactId : Maven 저장소에 배포되는 jar 파일입니다. ArtifactId는 pom 파일의 일부입니다. 종종 우리 프로젝트의 정체성과 이름으로 불립니다.
- 버전 : 프로젝트의 jar 버전을 지정합니다. 버전은 pom 파일의 일부이기도합니다.
위 이미지에 표시된 것처럼, 및 태그가 프로젝트에 대해 정의 된 종속성의 일부를 형성 함을 알 수 있습니다.
- Maven 중앙 저장소 : 프로젝트를 빌드하기 위해 Maven에 필요한 jar, 라이브러리, 플러그인 및 구성 데이터가있는 자리 표시 자입니다.
프로젝트에 Selenium 종속성을 추가하려면 pom 파일에 아래 코드 스 니펫이 있어야합니다.
org.seleniumhq.selenium selenium-java 4.0.0-alpha-5
Maven 중앙 저장소에 들어간 여러 프로젝트 중에서 groupId의 도움으로 Selenium을 식별합니다. 마찬가지로 ArtifactId는 groupId 아래의 하위 프로젝트와 같습니다.
예를 들면 Selenium 코드는 Java, C # 등과 같은 언어에서 지원됩니다. 여기서 artifactId에서 Java와 관련된 JAR에만 연결하고 있음이 분명합니다. 또한 프로젝트에 연결할 JAR 버전도 종속성의 일부입니다.
이 세 가지 정보를 제공하여 Maven 저장소에 자체 프로젝트를 게시 할 수도 있습니다.
Maven 저장소
Maven Repository는 세 가지 유형이 있습니다.
- 로컬 저장소
- 원격 저장소
- 중앙 저장소
Maven이 POM 파일에서 종속성을 읽으면 먼저 로컬 저장소에서 검색 한 다음 중앙 저장소에서 마지막으로 원격 저장소로 검색합니다. 세 개의 저장소에서 종속성이 발견되지 않으면 사용자에게 오류가 통지되고 프로세스가 중지됩니다.
# 1) Maven 로컬 저장소
로컬 저장소는 로컬 시스템에 있습니다. .m2 (C : / Users / superdev /.m2) Maven이 시스템에 설치되고 Maven 명령을 성공적으로 실행할 수있게되면 그 존재를 보여주는 디렉토리입니다.
또한 settings.xml (MAVEN_HOME / conf /settings.xml)에서이 위치를 수정할 수 있습니다. localRepository 꼬리표.
xml 코드 스 니펫 아래는 로컬 저장소의 위치를 변경하는 방법을 보여줍니다.
C: Maven m2 # 2) Maven 중앙 저장소
중앙 저장소 Apache Maven 그룹에서 개발했으며 웹에서 호스팅됩니다. 이것은 중앙 저장소로 간주되며 모든 공통 라이브러리가 있습니다. 로컬 저장소와 마찬가지로 setting.xml을 변경하여 기본적으로 다운로드 할 위치를 수정할 수도 있습니다.
# 3) Maven 원격 저장소
원격 저장소도 웹에서 호스팅됩니다. 일부 시나리오에서 회사는 자체 원격 저장소를 개발하고 개인 프로젝트에서 배포를 수행 할 수 있습니다. 이들은 특정 회사가 소유하며 내부에서만 운영 할 수 있습니다.
원격 저장소에는 중앙 저장소와 유사한 작업 패턴이 있습니다. 이러한 리포지토리에서 종속성 또는 구성이 필요할 때마다 먼저 로컬로 다운로드 한 다음 사용합니다.
b와 b + 트리의 차이
다음은 ID와 URL이있는 원격 저장소의 샘플 xml 코드입니다.
com.src.repository http://maven.comp.com/maven2/
결론
Maven이 무엇인지, Maven을 사용하는 이유, Maven의 운영 단계, Maven주기, 단계, 목표, Maven의 기본 용어 및 Maven 리포지토리 유형에 대한 명확한 아이디어를 얻었기를 바랍니다.
다음 튜토리얼에서는 Maven에서 프로젝트를 빌드하는 방법, Maven을위한 환경 설정 및 기타 많은 관련 주제를 살펴볼 것입니다.
추천 도서