프로젝트 빌드 도구 : Maven (on)

메이븐

소개

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의 특징 :

  1. 일관된 프로젝트 구조 : 다른 IDE로 인한 일관되지 않은 파일 디렉토리 문제를 해결합니다 (예 : 프로젝트 구조가 통합 되었기 때문에 Idea의 Maven 프로젝트를 Eclipse로 가져올 수도 있음).
  2. 일관된 구성 모델 및 플러그인 메커니즘 : 플러그인 도입 (예 : Tomcat이 필요한 경우 Tomcat 플러그인을 가져올 수 있음)

Maven의 철학 : 규칙은 구성보다 큽니다!

Maven 설치 및 구성

메이븐 다운로드

주소는 게시되지 않으며 공식 웹 사이트로 이동하여 다운로드하세요.

환경 변수 구성
여기에 사진 설명 삽입

압축 해제 후 Maven의 루트 디렉토리를 시스템 환경 변수 MAVEN_HOME으로 구성하고 bin 디렉토리를 경로 환경 변수로 구성하십시오.

경로의 환경 변수 :
여기에 사진 설명 삽입

참고 : Maven에서 압축 해제 후 저장된 디렉토리에는 중국어 문자와 공백이 없어야합니다.

Maven 환경 확인 : dos 창에 mvn -v를 입력
여기에 사진 설명 삽입
하여 구성 파일을 수정하여 미러를 수정합니다.

  1. maven에서 다운로드 한 jar 패키지를 저장하기 위해 로컬 maven웨어 하우스로 사용할 maven 디렉터리에 maven-repo 폴더를 만듭니다.
F:\apache-maven-3.6.1\maven-repo
  1. maven 경로에서 구성 파일을 엽니 다. maven directory / conf / settings.xml
  2. 로컬 창고 위치 구성 추가 : 다음과 같이
路径是刚刚创建的那个本仓库路径
<localRepository>F:\apache-maven-3.6.1\maven-repo</localRepository>
  1. 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의 웹 프로젝트 생성

  1. Maven 웹앱 프로젝트 만들기
    여기에 사진 설명 삽입
  2. 프로젝트 gav :
    여기에 사진 설명 삽입
  3. 초기 프로젝트 구조는 그림에 나와 있습니다.
    여기에 사진 설명 삽입
  4. 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 태그와 태그의 모든 콘텐츠를 삭제합니다.
  1. 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 /입니다. 직접 만든 로컬웨어 하우스 폴더로 구성을 수정하는 것이 좋습니다. 구성 방법은 이전에 언급되었습니다.

추천

출처blog.csdn.net/qq_40492885/article/details/115348181