maven 의 packaging 태그 사용
우선 Maven 은 XML 태그 언어 로 서 라벨 이 쌍 으로 존재 합 니 다.현재 packaging 라벨 은 3 가지 설정 이 있 습 니 다.
<packaging>pom</packaging>
<packaging>jar</packaging>
<packaging>war</packaging>
1. 부모 항목 의 pom.xml 파일 에 사용 되 는 packaging 설정 은 반드시 pom 입 니 다.부모 급 pom 파일 은 프로젝트 의 하위 모듈 로 만 통합 되 며,maven install 에 서 는 jar/war 압축 패 키 지 를 생 성하 지 않 습 니 다.
어린이 신발 은 왜 아버지 급 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 패 키 지 는 pom 파일 에 packaging 인자 가 설정 되 어 있 지 않 을 때 기본적으로 jar 방식 으로 포장 합 니 다.
이러한 포장 방식 은 maven build 시 이 프로젝트 의 모든 자바 파일 을 컴 파일 하여.class 파일 을 만 들 고 원래 의 자바 파일 등급 구조 에 따라 배치 하여 최종 적 으로 jar 파일 로 압축 하 는 것 을 의미 합 니 다.
<packaging>
명령 을 사용 할 때 프로젝트 에서 src 폴 더 와 같은 등급 으로 target 폴 더 를 새로 만 들 었 습 니 다.이 폴 더 안의 classes 폴 더 는 방금 언급 한 컴 파일 된 폴 더 입 니 다.아래 그림 에서 보 듯 이 이것 은 제 프로젝트 가 만 든 target 폴 더 이 고 맨 아래 jar 파일 은 이 폴 더 의 압축 버 전 입 니 다.3.
war 패 키 지 는 jar 패키지 와 매우 비슷 합 니 다.마찬가지 로 컴 파일 된 class 파일 은 등급 구조 에 따라 파일 트 리 를 형성 한 후에 포장 하여 형 성 된 압축 패키지 입 니 다.다른 것 은 프로젝트 에 의존 하 는 모든 jar 가방 을 WEB-INF/lib 폴 더 에 두 는 것 입 니 다.그림 과 같 습 니 다.
WEB-INF/classes 폴 더 는 우리 코드 의 컴 파일 을 통 해 만들어 진 내용 을 그대로 두 고 있 습 니 다.
알 수 있 듯 이 war 패 키 지 는 배치 할 때 사용 하기에 매우 적합 하 며,다른 의존 패 키 지 를 다운로드 하지 않 아 도 사용자 가 war 패 키 지 를 받 아 직접 사용 할 수 있 기 때문에 마이크로 서비스 프로젝트 군의 입구 프로젝트 의 pom 설정 에 자주 사용 된다.
총결산
packaging 에는 3 가지 서로 다른 설정 매개 변수 가 있 는데 각각 직무 를 수행 하고 차이 가 있 는 특성 을 가지 고 자바 웹 의 구축 과 배치 에 많은 편 의 를 가 져 다 줍 니 다.
Maven 의 packaging 태그 사용 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 Maven packaging 태그 내용 은 저희 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Windows에서 CodeArtifact(Maven)용 토큰을 자동으로 생성하는 방법CodeArtifact를 사용한 적이 있거나 사용할 계획이라면 매일 모든 Maven 프로젝트에서 수동으로 토큰(CODEARTIFACT_AUTH_TOKEN)을 생성해야 합니다. 이는 어려울 수 있으며 개발 속도를 늦출...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.