国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

第3章一切基于pom

2019-11-14 15:06:45
字體:
來源:轉載
供稿:網友

第3章 一切基于pom

本章介紹了maven的核心pom.xml作用,詳細描述了maven坐標變量。

 

3.1 什么是pom.xml

POM是項目對象模型(PRoject Object Model)的簡稱,它是Maven項目中的文件,使用XML表示,名稱叫做pom.xml。maven項目中,除了一堆代碼文件和跟項目有關的依賴文件外,還會包含一個pom.xml配置文件,這個文件配置了maven打包、編譯、版本、路徑等等的信息。其實,maven項目可以什么都沒有,甚至沒有代碼,但是必須包含pom.xml文件。

3.2 maven坐標

maven坐標為各種構件引入了秩序,任何一個構件都必須明確定義自己的坐標,一組maven坐標包含:groupIdartifactIdversionpackagingclassifier

坐標值介紹
groupId定義當前maven項目隸屬的實際項目,一個實際項目會有一個或多個maven項目。例如:springframework這一實際項目,包含多個maven項目,如spring-core、spring-aop、spring-beans、spring-webmvc等等。
artifactId定義一個實際項目中的maven項目(模塊),建議使用實際項目為前綴,例如org.hibernate。
version定義maven項目當前的版本。
packaging定義maven項目的打包方式。一般有jar、war、pom等。
classifier定義maven在相同版本下針對不同的環境或者jdk使用的jar。

3.3 pom.xml基本介紹

3.3.1 基礎標簽

基礎標簽描述了項目的坐標和其他信息。

    <modelVersion>4.0.0</modelVersion>    <groupId>com.xxx</groupId>    <artifactId>xxx_api</artifactId>    <version>0.0.1-SNAPSHOT</version>    <packaging>war</packaging>    <name>xxx_api Maven Webapp</name>    <url>http://maven.apache.org</url>

3.3.2 繼承標簽

繼承標簽描述了父項目的坐標和路徑

<parent>    <groupId>com.crm</groupId>    <artifactId>crm-parent</artifactId>    <version>0.0.1-SNAPSHOT</version>    <relativePath>../crm-parent/pom.xml</relativePath></parent>

3.3.3 聚合標簽

聚合標簽描述了需要管理的子項目的路徑

<modules>    <module>../crm-dao</module>    <module>../crm-service</module>    <module>../crm-web</module></modules>

3.3.4 依賴標簽

<dependencies>    <dependency>        <groupId> javax.servlet </groupId>        <artifactId>jstl/artifactId>        <version>1.2</version>    </dependency>    &hellip;…</dependencies>

3.3.5 構建標簽

<build>    <finalName>crm-web </finalName>    <resources>        <resource>            <directory>${basedir}/src/${env}/resources</directory>        </resource>    </resources>    <outputDirectory>${basedir}/src/main/webapp/WEB-INF/classes</outputDirectory>    <plugins>        <plugin>            <groupId>org.apache.maven.plugins</groupId>            <artifactId>maven-war-plugin</artifactId>            <version>2.6</version>            <configuration>                <warName>xxxxxx</warName>            </configuration>        </plugin>        <plugin>               <groupId>org.apache.maven.plugins</groupId>               <artifactId>maven-compiler-plugin</artifactId>               <version>2.3.2</version>               <configuration>                   <source>${jdk.version}</source>                   <target>${jdk.version}</target>               </configuration>           </plugin>    </plugins></build>

resources:描述工程中資源的位置。

outputDirectory:項目輸出路徑,默認情況下,項目的編譯class是放在${basedir}/target下。

plugin:插件標簽,描述項目工程需要的插件和插件的配置。

configuration:插件的一些配置信息。

3.3.6 maven隱式變量

${basedir}項目根目錄
${project.build.directory} 構建目錄,缺省為target
${project.build.outputDirectory}構建過程輸出目錄,缺省為target/classes
${project.build.finalName}產出物名稱,缺省為${project.artifactId}-${project.version}
${project.packaging} 打包類型,缺省為jar
${project.xxx}當前pom文件的任意節點的內容


 

版權聲明:本文為博主原創文章,未經博主允許不得轉載。

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 佛教| 从江县| 泌阳县| 凯里市| 宿州市| 正镶白旗| 涞水县| 泸定县| 惠州市| 临清市| 泾源县| 连城县| 庐江县| 吴旗县| 光山县| 专栏| 治多县| 洛南县| 成都市| 于田县| 合江县| 嘉兴市| 隆尧县| 盐山县| 文安县| 西吉县| 天等县| 泾阳县| 阆中市| 都江堰市| 新宁县| 罗源县| 射阳县| 枞阳县| 思南县| 海安县| 霞浦县| 明水县| 阳谷县| 泰宁县| 唐海县|