maven 의 packaging 태그 사용

5781 단어 mavenpackaging
자바 웹 개발 을 사용 하 는 백 엔 드 엔지니어 들 은 대부분 Maven 을 프로젝트 구축 및 컴 파일 도구 로 사용 합 니 다.마이크로 서비스 와 대중 국 이 지배 하 는 오늘날 Maven 의 디 테 일 에 더욱 관심 을 가 지 는 것 이 필요 합 니 다.오늘 우 리 는 라벨 의 역할 을 이야기 합 시다.
우선 Maven 은 XML 태그 언어 로 서 라벨 이 쌍 으로 존재 합 니 다.현재 packaging 라벨 은 3 가지 설정 이 있 습 니 다.

<packaging>pom</packaging>
<packaging>jar</packaging>
<packaging>war</packaging>
1. pom
부모 항목 의 pom.xml 파일 에 사용 되 는 packaging 설정 은 반드시 pom 입 니 다.부모 급 pom 파일 은 프로젝트 의 하위 모듈 로 만 통합 되 며,maven install 에 서 는 jar/war 압축 패 키 지 를 생 성하 지 않 습 니 다.
어린이 신발 은 왜 아버지 급 pom 파일 이 필요 하 냐 고 물 을 것 이다.
장점 은 다음 과 같다.
  • 탭 을 통 해 서브 모듈 의 컴 파일 순서(Maven 도입 의존 사용 최 단 경로 원칙,예 를 들 어 a
  • 일부 하위 항목 에서 공통 적 으로 사용 되 는 의존 도 를 부모 급 설정 에 통일 적 으로 기록 하여 통일 적 으로 관리 할 수 있 습 니 다.
  • groupId,artifactId,version 은 부모 로부터 직접 계승 하여 하위 프로젝트 의 pom 설정 을 줄 일 수 있 습 니 다.
  • 다음 과 같이 제 가 쓴 프로젝트 의 부모 pom 스타일 을 보 여 드 렸 습 니 다.
    
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns="http://maven.apache.org/POM/4.0.0"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
    
     <packaging>pom</packaging>
    
     <groupId>cn.homie</groupId>
     <artifactId>ancient-culture</artifactId>
     <name>ancient-culture</name>
     <version>0.0.1-SNAPSHOT</version>
    
     <description>Carry forward the Chinese classical culture backend system. Author: Mr.Zyx
     </description>
    
     <modules>
     <!-- basic support service -->
     <module>homie_shared_service</module>
     <module>homie_auth_service</module>
     <module>homie_calendar_service</module>
     <!-- functional service -->
     <module>homie_user_service</module>
     <module>homie_forum_service</module>
     <module>homie_blog_service</module>
     <module>homie_divination_service</module>
     <!-- integration service -->
     <module>ancient-culture-api</module>
     </modules>
    
     <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <springframework.version>5.2.1.RELEASE</springframework.version>
     <spring-data-jpa.version>2.2.2.RELEASE</spring-data-jpa.version>
     <springboot.version>2.1.8.RELEASE</springboot.version>
     <javax.persistence.version>2.2</javax.persistence.version>
     <javax.validation.version>2.0.1.Final</javax.validation.version>
     <jwt.version>3.0.0</jwt.version>
     <jackson.version>2.10.0</jackson.version>
     <net.sf.json-lib.version>2.4</net.sf.json-lib.version>
     <slf4j.version>1.7.29</slf4j.version>
     <commons-lang3.version>3.9</commons-lang3.version>
     <lombok.version>1.18.6</lombok.version>
     <tomcat.version>9.0.27</tomcat.version>
     <homie.service.version>0.0.1-SNAPSHOT</homie.service.version>
     </properties>
    
     <build>
     <plugins>
      <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
      <configuration>
       <encoding>UTF-8</encoding>
       <source>8</source>
       <target>8</target>
      </configuration>
      <groupId>org.apache.maven.plugins</groupId>
      <version>3.1</version>
      </plugin>
     </plugins>
     </build>
    </project>
    2. jar
    Jar 패 키 지 는 pom 파일 에 packaging 인자 가 설정 되 어 있 지 않 을 때 기본적으로 jar 방식 으로 포장 합 니 다.
    이러한 포장 방식 은 maven build 시 이 프로젝트 의 모든 자바 파일 을 컴 파일 하여.class 파일 을 만 들 고 원래 의 자바 파일 등급 구조 에 따라 배치 하여 최종 적 으로 jar 파일 로 압축 하 는 것 을 의미 합 니 다.<packaging>명령 을 사용 할 때 프로젝트 에서 src 폴 더 와 같은 등급 으로 target 폴 더 를 새로 만 들 었 습 니 다.이 폴 더 안의 classes 폴 더 는 방금 언급 한 컴 파일 된 폴 더 입 니 다.아래 그림 에서 보 듯 이 이것 은 제 프로젝트 가 만 든 target 폴 더 이 고 맨 아래 jar 파일 은 이 폴 더 의 압축 버 전 입 니 다.
    在这里插入图片描述
    3. war
    war 패 키 지 는 jar 패키지 와 매우 비슷 합 니 다.마찬가지 로 컴 파일 된 class 파일 은 등급 구조 에 따라 파일 트 리 를 형성 한 후에 포장 하여 형 성 된 압축 패키지 입 니 다.다른 것 은 프로젝트 에 의존 하 는 모든 jar 가방 을 WEB-INF/lib 폴 더 에 두 는 것 입 니 다.그림 과 같 습 니 다.
    在这里插入图片描述
    WEB-INF/classes 폴 더 는 우리 코드 의 컴 파일 을 통 해 만들어 진 내용 을 그대로 두 고 있 습 니 다.
    알 수 있 듯 이 war 패 키 지 는 배치 할 때 사용 하기에 매우 적합 하 며,다른 의존 패 키 지 를 다운로드 하지 않 아 도 사용자 가 war 패 키 지 를 받 아 직접 사용 할 수 있 기 때문에 마이크로 서비스 프로젝트 군의 입구 프로젝트 의 pom 설정 에 자주 사용 된다.
    총결산
    packaging 에는 3 가지 서로 다른 설정 매개 변수 가 있 는데 각각 직무 를 수행 하고 차이 가 있 는 특성 을 가지 고 자바 웹 의 구축 과 배치 에 많은 편 의 를 가 져 다 줍 니 다.
    Maven 의 packaging 태그 사용 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 Maven packaging 태그 내용 은 저희 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

    좋은 웹페이지 즐겨찾기