메이븐
소개
maven은 자바 플랫폼에 기반한 프로젝트 구축 및 의존성 관리를위한 도구입니다.
창고 주소에 의존
https://mvnrepository.com/tags/maven
메이븐의 4 가지 특징
의존성 관리 시스템
Maven은 jar가 업그레이드 될 때 구성 파일을 수정하기 위해 종속성 관리 시스템 jar 패키지 관리를 도입했습니다.
종속성의 세 가지 속성 : groupld, artifactld 및 version이 세 가지 속성은 종속성을 고유하게 식별하기 위해 조정 (좌표)을 형성합니다.
Maven 자체에 빌드 된 모든 프로젝트는이 세 가지 속성도 정의해야합니다. 생성 된 것은 jar 패키지 또는 war 패키지 일 수 있습니다. 일반적인 종속성 참조는 다음과 같습니다.
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
groupld : Meven 프로젝트가 실제 프로젝트 회사 이름에 속함을 나타냅니다.
artifactId :이 요소는 실제 프로젝트-프로젝트 이름으로 Maven 모듈을 정의합니다.
version :이 요소는 Maven 프로젝트의 버전을 정의합니다.
좌표 속성
maven 좌표는 다양한 구성 요소에 대한 순서를 도입하며 모든 구성 요소는 자체 좌표를 정의해야합니다.
Maven의 특징 :
- 일관된 프로젝트 구조 : 다른 IDE로 인한 일관되지 않은 파일 디렉토리 문제를 해결합니다 (예 : 프로젝트 구조가 통합 되었기 때문에 Idea의 Maven 프로젝트를 Eclipse로 가져올 수도 있음).
- 일관된 구성 모델 및 플러그인 메커니즘 : 플러그인 도입 (예 : Tomcat이 필요한 경우 Tomcat 플러그인을 가져올 수 있음)
Maven의 철학 : 규칙은 구성보다 큽니다!
Maven 설치 및 구성
메이븐 다운로드
주소는 게시되지 않으며 공식 웹 사이트로 이동하여 다운로드하세요.
환경 변수 구성
압축 해제 후 Maven의 루트 디렉토리를 시스템 환경 변수 MAVEN_HOME으로 구성하고 bin 디렉토리를 경로 환경 변수로 구성하십시오.
경로의 환경 변수 :
참고 : Maven에서 압축 해제 후 저장된 디렉토리에는 중국어 문자와 공백이 없어야합니다.
Maven 환경 확인 : dos 창에 mvn -v를 입력
하여 구성 파일을 수정하여 미러를 수정합니다.
- maven에서 다운로드 한 jar 패키지를 저장하기 위해 로컬 maven웨어 하우스로 사용할 maven 디렉터리에 maven-repo 폴더를 만듭니다.
F:\apache-maven-3.6.1\maven-repo
- maven 경로에서 구성 파일을 엽니 다. maven directory / conf / settings.xml
- 로컬 창고 위치 구성 추가 : 다음과 같이
路径是刚刚创建的那个本仓库路径
<localRepository>F:\apache-maven-3.6.1\maven-repo</localRepository>
- maven은 기본적으로 매우 느린 외부 중앙웨어 하우스를 사용하기 때문에 미러 탭에서 미러를 Ali의 미러로 교체하여 종속성 다운로드 속도를 높입니다.
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
Pom.xml 태그 설명 :
modelversion : 현재 pom 모델의 버전을 지정합니다. Maven2 및 Maven3의 경우 4.0.0 만 가능합니다.
groupId : 이름에서 알 수 있듯이 프로젝트가 속한 그룹을 정의합니다.이 그룹은 종종 프로젝트가 위치한 조직 및 회사 (예 : com.xxxx)와 연관됩니다.
artifactId : 그룹에서 현재 Maven 프로젝트의 고유 ID를 정의합니다.
version : xxx-Milestone
예 : 1.0.0-SNAPSHOT 첫
번째 x : 주 버전이 크게 변경됨
두 번째 x : 부 버전이 버그 수정 및 기능 추가
세 번째 x : 업데이트
마일스톤 버전 :
SNAPSHOT (개발 버전)
알파 (내부 테스트)
베타 (공개 테스트)
릴리스 | Rc (릴리스 버전)
GA (일반 버전)
일반적인 명령
- mvn -version : 버전 정보 표시
- mvn clean : 프로젝트에서 생성 된 임시 파일, 일반적으로 모듈 아래의 대상 디렉터리를 정리합니다.
- mvn compile : 소스 코드를 컴파일하고 일반적으로 모듈 아래의 sec / main / java 디렉토리를 컴파일합니다.
- mvn 패키지 : 모듈 아래의 대상 디렉토리에 jar 또는 war 파일을 생성하는 프로젝트 패키징 도구
- mvn test : test 명령 또는 src / test / java /에서 junit 테스트 케이스를 실행합니다.
- mvn install : 다른 모듈에서 사용할 수 있도록 패키지 된 jar / war 파일을 로컬웨어 하우스에 복사합니다.
- mvn site : 프로젝트 관련 정보를 생성하는 웹 사이트
- mvn eclipse : eclipse : 프로젝트를 Eclipse 프로젝트로 변환
- mvn dependency : tree : 프로젝트의 전체 종속성 트리를 출력합니다.
IDEA 통합 Maven 환경
Maven 버전 설정
Maven의 웹 프로젝트 생성
- Maven 웹앱 프로젝트 만들기
- 프로젝트 gav :
- 초기 프로젝트 구조는 그림에 나와 있습니다.
- pom.xml 구성 파일 수정
- jdk 버전 수정 : 기본값은 1.7이고 다음과 같이 1.8로 수정됩니다.
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
- 필요하지 않은 경우 Junit을 삭제할 수 있습니다.
- pluginManagement 태그와 태그의 모든 콘텐츠를 삭제합니다.
- Maven 통합 Tomcat의
첫 번째 단계 :
<plugins>
集成Tomcat9插件
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<!--访问端口-->
<port>8080</port>
<!--对外访问路径-->
<path>/mavenDemo</path>
<uriEncoding>UTF-8</uriEncoding>
<server>tomcat7</server>
</configuration>
</plugin>
</plugins>
2 단계 :
1.
2.
Maven 창고 개념
Maven웨어 하우스는 로컬웨어 하우스와 원격웨어 하우스의 두 가지 범주로 나뉩니다 .
Maven은 좌표를 기반으로 컴포넌트를 검색 할 때 먼저 로컬 창고를 확인하고 직접 사용합니다. 로컬 창고가 없으면 원격 창고에서 로컬 창고로 검색 및 다운로드합니다. 로컬 창고가없는 경우 원격웨어 하우스도 Maven이 오류를보고합니다.
원격웨어 하우스에는 중앙웨어 하우스, 개인 서버 및 기타 공용웨어 하우스의 세 가지 유형이 있습니다.
기본 구성에서 Maven은 중앙웨어 하우스를 사용하여 jar 패키지를 다운로드합니다.
개인 서버는 대역폭과 시간을 절약하고, LAN에 개인웨어 하우스 서버를 설정하고,이웨어 하우스를 사용하여 모든 외부 원격웨어 하우스를 프록시하기위한 또 다른 특수한 종류의 원격웨어 하우스입니다. 다른 프로젝트에서 사용할 수 있도록 내부 프로젝트를 개인 서버에 업로드 할 수도 있습니다.
로컬웨어 하우스 폴더를 직접 구성하지 않는 경우 기본 로컬웨어 하우스 경로는 $ {User} /. m2 / repository /입니다. 직접 만든 로컬웨어 하우스 폴더로 구성을 수정하는 것이 좋습니다. 구성 방법은 이전에 언급되었습니다.