maven基礎(chǔ)知識(shí)學(xué)習(xí)和插件的使用_第1頁
maven基礎(chǔ)知識(shí)學(xué)習(xí)和插件的使用_第2頁
maven基礎(chǔ)知識(shí)學(xué)習(xí)和插件的使用_第3頁
maven基礎(chǔ)知識(shí)學(xué)習(xí)和插件的使用_第4頁
maven基礎(chǔ)知識(shí)學(xué)習(xí)和插件的使用_第5頁
已閱讀5頁,還剩124頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

轉(zhuǎn)自:

Maven-概述1

Maven是什么?1

Maven的歷史1

Maven的目標(biāo)1

約定優(yōu)先于配置2

Maven-環(huán)境搭建2

系統(tǒng)要求2

第1步:驗(yàn)證Java是否安裝3

第2步:配置JAVA環(huán)境4

第3步:下載Maven安裝文件4

第4步:解壓Maven安裝文件5

第5步:設(shè)置Maven的環(huán)境變量5

第6步:添加Maven的bin目錄到系統(tǒng)路徑6

第7步:驗(yàn)證Maven是否正確安裝6

Maven-POM7

POM示例7

SuperPOM8

Maven-構(gòu)建生命周期38

什么是構(gòu)建生命周期?39

Clean生命周期40

默認(rèn)生命周期(或構(gòu)建生命周期)44

1

Site生命周期51

Maven-構(gòu)建配置文件55

什么是構(gòu)建配置文件?55

構(gòu)建配置文件的類型55

配置文件激活56

配置文件激活示例56

顯式配置文件激活57

通過Maven設(shè)置激活配置文件61

通過環(huán)境變量激活配置文件62

通過操作系統(tǒng)激活配置文件63

通過文件的存在或者缺失激活配置文件64

Maven-倉庫64

什么是Maven倉庫?64

本地倉庫65

中央倉庫65

遠(yuǎn)程倉庫65

Maven依賴搜索順序67

Maven-插件67

什么是Maven插件?68

插件類型68

示例69

Maven-創(chuàng)建項(xiàng)目74

2

Maven-構(gòu)建和測(cè)試項(xiàng)目78

添加Java源文件82

Maven-外部依賴84

Maven-項(xiàng)目文檔87

Maven-項(xiàng)目模板89

什么是Archetype?90

使用項(xiàng)目模板90

創(chuàng)建好的項(xiàng)目93

創(chuàng)建好的POM.xml文件94

創(chuàng)建好的Afjp.java文件95

創(chuàng)建好的AppTest.java文件96

Maven-快照98

什么是快照?98

項(xiàng)目快照vs版本98

app-ui項(xiàng)目的pom.xml文件98

data-service項(xiàng)目的pom.xml文件100

Maven-自動(dòng)化構(gòu)建102

示例102

使用Maven104

將持續(xù)集成用于Maven108

Maven-管理依賴108

可傳遞性依賴發(fā)現(xiàn)109

3

依賴作用域(DependencyScope)109

依賴管理(DependencyManagement)110

Maven-自動(dòng)化部署115

問題說明115

解決方法116

修改項(xiàng)目的POM.xml116

MavenRelease插件118

Maven-Web應(yīng)用119

創(chuàng)建Web應(yīng)用119

POM.xml文件121

構(gòu)建Web應(yīng)用123

部署Web應(yīng)用125

測(cè)試Web應(yīng)用125

4

轉(zhuǎn)自:

Maven-概述

Maven是什么?

Maven是一種項(xiàng)目管理和理解工具。Maven向開發(fā)者提供了一個(gè)完整的構(gòu)建生

命周期框架。開發(fā)團(tuán)隊(duì)幾乎不用花時(shí)間就可以使用自動(dòng)化構(gòu)建項(xiàng)目的基礎(chǔ)框架,

因?yàn)镸aven使用了一套標(biāo)準(zhǔn)的目錄結(jié)構(gòu)和默認(rèn)的構(gòu)建生命周期。

在存在多個(gè)開發(fā)團(tuán)隊(duì)的場(chǎng)景中,Maven可以在很短的時(shí)間內(nèi)按標(biāo)準(zhǔn)建立起工作

方式。因?yàn)榇蠖鄶?shù)的項(xiàng)目配置簡(jiǎn)單并且可重用,Maven簡(jiǎn)化了開發(fā)者在創(chuàng)建報(bào)

告,檢查,構(gòu)建和測(cè)試自動(dòng)化配置中的工作。

Maven提供給開發(fā)者管理如下過程的方法:

?項(xiàng)目構(gòu)建(Builds)

?文檔(Documentation)

?報(bào)告(Reporting)

?項(xiàng)目依賴(Dependencies)

?軟件配置管理(SCMs)

?發(fā)布(Releases)

?分發(fā)(Disthbution)

?郵件列表(mailinglist)

總的來說,Maven簡(jiǎn)化和統(tǒng)一了項(xiàng)目構(gòu)建的過程。它無縫地處理項(xiàng)目編譯,分

發(fā),文檔,團(tuán)隊(duì)合作和其他任務(wù),增加了任務(wù)處理的重用性,并可以處理大多

數(shù)構(gòu)建相關(guān)的任務(wù)。

Maven的歷史

Maven最初是在JakartaTurbine項(xiàng)目中設(shè)計(jì)出來,用作簡(jiǎn)化項(xiàng)目構(gòu)建步驟。

這個(gè)項(xiàng)目有若干子項(xiàng)目并且每個(gè)項(xiàng)目包含的ANT構(gòu)建文件只有些許的差別o項(xiàng)

目中JAR包那時(shí)是檢入到CVS中。然后Apache組織開發(fā)了Maven,它可

以把多個(gè)項(xiàng)目一起構(gòu)建,發(fā)布多項(xiàng)目信息,完成多項(xiàng)目部署,在多項(xiàng)目間共享

JAR包并且?guī)椭鷪F(tuán)隊(duì)間一起合作。

Maven的目標(biāo)

Maven主要的1=1標(biāo)是提供給開發(fā)者

1

一種綜合全面的模型,對(duì)項(xiàng)目來說可以重用,易于維護(hù)并且更容易理解

可以與這種聲明式模型相互作用的插件或者工具

Maven項(xiàng)目結(jié)構(gòu)和內(nèi)容聲明在一個(gè)xml文件中pom.xml,稱之為項(xiàng)目對(duì)象

模型(POM)。它是整個(gè)Maven系統(tǒng)的基本單元。更多信息參考MavenPOM章

節(jié)。

約定優(yōu)先于配置

Maven使用約定優(yōu)先于配置,這意味著開發(fā)者不用自己創(chuàng)建構(gòu)建流程。

開發(fā)者不需要指明每一個(gè)配置詳情。Maven為項(xiàng)目提供了合理的默認(rèn)行為。當(dāng)

創(chuàng)建一個(gè)Maven項(xiàng)目時(shí),Maven會(huì)創(chuàng)建默認(rèn)的項(xiàng)目結(jié)構(gòu)。開發(fā)者只需要按照

對(duì)應(yīng)地放置文件,而不需要在pom.xml文件中做任何配置。

舉個(gè)例子,假設(shè)${basedir}表示項(xiàng)目路徑,下面的表格展示了項(xiàng)目源碼文件目

錄、資源文件目錄和其他配置的默認(rèn)值:

ItemDefault

sourcecode${basedir}/src/main/java

resources${basedir}/src/main/resources

Tests${basedir}/src/test

Compliedbytecode${basedir}/target

distributableJAR${basedir}/target/classes

為了構(gòu)建項(xiàng)目,Maven提供給開發(fā)者指明生命周期目標(biāo)和項(xiàng)目依賴(依靠

Maven的插件功能和默認(rèn)約定實(shí)現(xiàn))的選項(xiàng)。有大量的項(xiàng)目管理和構(gòu)建相關(guān)的

任務(wù)是由Maven插件維護(hù)的。

Maven-環(huán)境搭建

Maven是基于Java的工具,所以首要必須的要求是你的電腦上安裝有JDK。

系統(tǒng)要求

2

JDK1.5版本或更高。

內(nèi)存無最小要求。

硬盤空間無最小要求。

操作系統(tǒng)無最小要求。

第1步:驗(yàn)證Java是否安裝

操作系統(tǒng)操作命令

Windows打開命令提示符c:>java-version

Linux打開命令終端$java-version

Mac打開終端machine:-joseph$java-version

讓我們來驗(yàn)證下各個(gè)操作系統(tǒng)的輸出:

操作系統(tǒng)輸出

javaversionM1.6.0_21n

Java(TM)SERuntimeEnvironment(build1.6.0_21-b07)

Windows

JavaHotSpot(TM)ClientVM(build17.0-b17,mixedmode,sharing)

javaversion"1.6.0_21*'

Java(TM)SERuntimeEnvironment(build1.6.0_21-b07)

Linux

JavaHotSpot(TM)ClientVM(build17.0-b17,mixedmode,sharing)

javaversion,,1.6.0_21n

Java(TM)SERuntimeEnvironment(build1.6.0_21-b07)

Mac

JavaHotSpot(TM)64-BitServerVM(build17.0-b17,mixedmode,sharing)

3

如果你沒有安裝Java,請(qǐng)從安裝JDK。在此教程中我們假設(shè)安裝的是Java1.6.0_21

版本。

第2步:配置JAVA環(huán)境

設(shè)置JAVA_HOME環(huán)境變量指向你電腦中Java的安裝根目錄。示例如下:

操作系統(tǒng)輸出

Windows設(shè)置環(huán)境變量JAVAJHOME為C:\ProgramFiles\Java\jdk1.6.0_21

LinuxexportJAVA_HOME=/usr/local/java-current

MacexportJAVA_HOME=/Library/Java/Home

將Java編譯器路徑添加到系統(tǒng)路徑。

操作系統(tǒng)操作

Windows在系統(tǒng)變量Path后添加字符串;C:\ProgramFiles\Java\jdk1.6.0_21\bin

LinuxexportPATH=$PATH:$JAVA_HOME/bin/

Mac不需要

使用上面提到的java-version命令驗(yàn)證Java安裝。

第3步:下載Maven安裝文件

從下載Maven2.2.1。

操作系統(tǒng)文件名

Windowsapache-maven-2.2J-bin.zip

Linuxapache-maven-2.2.1-bin.tar.gz

Macapache-maven-2.2.1-bin.tar.gz

4

第4步:解壓Maven安裝文件

解壓Maven的安裝文件到你想要的目錄。在此過程中,子目錄apache-maven-2.2.1將會(huì)

被創(chuàng)建。

操作系統(tǒng)路徑(根據(jù)你的安裝方式會(huì)有所不同)

WindowsC:\ProgramFiles\ApacheSoftwareFoundation\apache-maven-2.2.1

Linux/usr/local/apache-maven

Mac/usr/local/apache-maven

第5步:設(shè)置Maven的環(huán)境變量

向環(huán)境變量中添加M2_HOME,M2,MAVEN_OPTS變量.

操作系統(tǒng)路徑(根據(jù)你的安裝方式會(huì)有所不同)

使用系統(tǒng)屬性設(shè)置環(huán)境變量。

M2_HOME=C:\ProgramFiles\ApacheSoftware

Foundation\apache-maven-2.2.1

Windows

M2=%M2_HOME%\bin

MAVEN_OPTS="Xms256m-Xmx512m

打開命令終端設(shè)置環(huán)境變量。

exportM2_HOME=/usr/local/apache-maven/apache-maven-2.2.1

Linux

exportM2=$M2_HOM曰bin

exportMAVEN_OPTS=-Xms256m-Xmx512m

打開命令終端設(shè)置環(huán)境變量。

MacexportM2_HOME=/usr/local/apache-maven/apache-maven-2.2.1

exportM2=$M2_HOM曰bin

5

操作系統(tǒng)路徑(根據(jù)你的安裝方式會(huì)有所不同)

exportMAVEN_OPTS=-Xms256m-Xmx512m

第6步:添加Maven的bin目錄到系統(tǒng)路徑

現(xiàn)在添加變量M2到系統(tǒng)目錄中

操作系統(tǒng)操作

Windows在系統(tǒng)變量Path后添加字符串;%M2%

LinuxexportPATH=$M2:$PATH

MacexportPATH=$M2:$PATH

第7步:驗(yàn)證Maven是否正確安裝

現(xiàn)在打開終端命令行,然后執(zhí)行下面的mvn命令。

操作系統(tǒng)操作命令

Windows打開命令提示符c:>mvn-version

Linux打開命令終端$mvn-version

Mac打開終端machine:-joseph$mvn-version

最后來驗(yàn)證上述命令的輸出,內(nèi)容應(yīng)該如下:

操作系統(tǒng)輸出

ApacheMaven2.2.1(r801777;2009-08-0700:46:01+0530)

Javaversion:1.6.0_21

Windows

Javahome:C:\ProgramFiles\Java\jdk1.6.0_21\jre

6

操作系統(tǒng)輸出

ApacheMaven2.2.1(r801777;2009-08-0700:46:01+0530)

Javaversion:1.6.0_21

Linux

Javahome:C:\ProgramFiles\Java\jdk1.6.0_21\jre

ApacheMaven2.2.1(r801777;2009-08-0700:46:01+0530)

Javaversion:1.6.0_21

Mac

Javahome:C:\ProgramFiles\Java\jdk1.6.0_21\jre

Maven-POM

POM意為項(xiàng)目對(duì)象模型(ProjectObjectModel),是Maven中基本單元。它是一個(gè)名為

pom.xml的XML文件,總是存在于項(xiàng)目的更目錄下。

POM包含了項(xiàng)目相關(guān)的信息和Maven用來構(gòu)建一個(gè)或多個(gè)項(xiàng)目的各種配置詳情。

POM也包含了各種目標(biāo)操作(goal)和插件。當(dāng)執(zhí)行一個(gè)任務(wù)或者目標(biāo)操作時(shí),Maven會(huì)查

找當(dāng)前目錄下的POMoMaven讀取POM,從中獲得需要的配置信息,然后執(zhí)行目標(biāo)操作。

部分Maven可以從POM中明確的配置列出如下:

?項(xiàng)目依賴(projectdependencies)

?插件(plugins)

?目標(biāo)操作(goals)

?構(gòu)建(buildprofiles)

?項(xiàng)目版本(projectversion)

?開發(fā)者(developers)

?郵件列表(mailinglist)

在創(chuàng)建一個(gè)POM之前,我們首先應(yīng)該決定項(xiàng)目組織(groupld),項(xiàng)目命名(artifactld)

和項(xiàng)目版本,因?yàn)檫@些屬性信息可以幫助我們?cè)陧?xiàng)目倉庫中唯一確定一個(gè)項(xiàng)目。

POM示例

<projectxmlns="

xmlns:xsi="

7

xsi:schemaLocation="

>

<modelVersion>4.0.0</modelversion>

<groupld>ject-group</groupld>

<artifactld>project</artifactld>

<version>l.0</version>

</project>

要注意的是每個(gè)項(xiàng)目需要有唯一的POM文件。

所有的POM文件要求有projec節(jié)點(diǎn)和三個(gè)必須字段:groupld,artifactld,versiono

在倉庫中項(xiàng)目的標(biāo)識(shí)為groupld:artifactld:versiono

POM.xml的根節(jié)點(diǎn)是project并且其下有三個(gè)主要的子節(jié)點(diǎn):

節(jié)點(diǎn)描述

項(xiàng)目組織的Id。通常在一個(gè)項(xiàng)目或者一個(gè)組織之中,這個(gè)Id是唯一的。例如,某個(gè)

groupld

Id為pany.bank的銀行組織包含所有銀行相關(guān)的項(xiàng)目。

項(xiàng)目的Id,通常是項(xiàng)目的名字。例如,consumer-bankingoartifactld與groupld一

artifactld

起定義了倉庫中項(xiàng)目構(gòu)件的路徑。

項(xiàng)目的版本。它與groupld一起,在項(xiàng)目構(gòu)件倉庫中用作區(qū)分不同的版本,例如:

version

pany.bank:consumer-banking:1.0

pany.bank:consumer-banking:1.1.

SuperPOM

8

所有的POM都繼承一個(gè)父類POM(不管是顯示定義繼承的還是沒有顯示定義的)。這個(gè)

基礎(chǔ)的POM被稱為超類POM(SuperPOM),它包含了POM默認(rèn)繼承的屬性值。

Maven使用有效的POM(effectivepom,其配置來源于超類POM加上項(xiàng)目配置)來執(zhí)

行相關(guān)的目標(biāo)操作。這能幫助開發(fā)者在他/她的pom.xml中識(shí)別出最小量的配置詳情,雖

說起來配置覆蓋也非常地容易。

一個(gè)簡(jiǎn)單的查看超類POM的默認(rèn)配置的方法是裕興如下的命令:mvn

help:effective-pom

在你的電腦任意目錄下創(chuàng)建一個(gè)pom.xml文件,內(nèi)容使用上面提到的pom示例中的。

在展示下面的例子前,我們已經(jīng)在C:\MVN\project文件夾中創(chuàng)建了一個(gè)pom.xml文件。

現(xiàn)在打開命令控制臺(tái),去到包含pom.xml的文件夾,然后執(zhí)行下面的mvn命令。

C:\MVN\project>mvnhelp:effective-pom

Maven將開始處理并顯示有效的pom(effective-pom).

[INFO]Scanningforprojects...

[INFO]Searchingrepositoryforpluginwithprefix:'help'.

[INFO]

[INFO]BuildingUnnamed-ject-group:project-name:jar:1.0

[INFO]task-segment:[help:effective-pom](aggregator-style)

[INFO]

[INFO][helpeffective-pom{execution:default-cli}]

[INFO]

[INFO]

[INFO]BUILDSUCCESSFUL

9

[INFO]

[INFO]Totaltime:<1second

[INFO]Finishedat:ThuJul0511:41:511ST2012

[INFO]FinalMemory:6M/15M

[INFO]

EffectivePOM在繼承(inheritance)、插值(interpolation)和使用配置(profileapplying)

后,展示的就如控制臺(tái)中的結(jié)果一樣。

<?xmlversion="1.0"encoding="UTF-8"?>

<!---->

<!--GeneratedbyMavenHelpPluginon2012-07-05Tll:41:51-->

<!See:-->

<!---->

<!

<!--

<!--EffectivePOMforproject

<!'ject-group:project-name:jar:1.0'

<!--

<!>

<projectxmlns=""xmlns:xsi=

10

2001/XMLSchema-instance"xsi:schemaLocation="h

<modelVersion>4.0.0</modelVersion>

<groupld>ject-group</groupld>

<artifactld>project</artifactld>

<version>1.0</version>

<build>

<sourceDirectory>C:\MVN\project\src\main\java</sourceDirectory>

<scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>

<testSourceDirectory>C:\MVN\project\src\test\java</testSourceDirectory>

<outputDirectory>C:\MVN\project\target\classes</outputDirectory>

<testOutputDirectory>C:\MVN\project\target\test-classes</testOutputDirectory>

<resources>

<resource>

<mergeId>resource-0</mengeId>

<directory>C:\MVN\project\src\main\resources</directory>

</resource>

</resources>

<testResources>

<testResource>

<mergeld>resource-l</mergeld>

<directory>C:\MVN\project\src\test\resources</directory>

11

</testResource>

</testResources>

<directory>C:\MVN\project\target</directory>

<finalName>project-1.0</finalName>

<pluginManagement>

<plugins>

<plugin>

<artifactld>maven-antrun-plugin</artifactld>

<version>1.3</version>

</plugin>

<plugin>

<artifactld>maven-assembly-plugin</artifactld>

<version>2.2-beta-2</version>

</plugin>

<plugin>

<artifactld>maven-clean-plugin</artifactld>

<version>2.2</version>

</plugin>

<plugin>

<artifactld>maven-compiler-plugin</artifactld>

<version>2.0.2</version>

</plugin>

12

<plugin>

<artifactld>maven-dependency-plugin</artifactld>

<version>2.0</version>

</plugin>

<plugin>

<artifactld>maven-deploy-plugin</artifactld>

<version>2.4</version>

</plugin>

<plugin>

<artifactld>maven-ear-plugin</artifactld>

<version>2.3.1</version>

</plugin>

<plugin>

<artifactld>maven-ejb-plugin</artifactld>

<version>2.l</version>

</plugin>

<plugin>

<artifactld>maven-install-plugin</artifactld>

<version>2.2</version>

</plugin>

<plugin>

<artifactld>maven-jar-plugin</artifactld>

13

<version>2.2</version>

</plugin>

<plugin>

<artifactld>maven-javadoc-plugin</artifactId>

<version>2.5</version>

</plugin>

<plugin>

<artifactld>maven-plugin-plugin</artifactId>

<version>2.4.3</version>

</plugin>

<plugin>

<artifactld>maven-rar-plugin</artifactld>

<version>2.2</version>

</plugin>

<plugin>

<artifactld>maven-release-plugin</artifactld>

<version>2.0-beta-8</version>

</plugin>

<plugin>

<artifactld>maven-resources-plugin</artifactld>

<version>2.3</version>

</plugin>

14

<plugin>

<artifactld>maven-site-plugin</artifactld>

<version>2.0-beta-7</version>

</plugin>

<plugin>

<artifactld>maven-source-plugin</artifactld>

<version>2.0.4</version>

</plugin>

<plugin>

<artifactld>maven-surefire-plugin</artifactld>

<version>2.4.3</version>

</plugin>

<plugin>

<artifactld>maven-war-plugin</artifactld>

<version>2.1-alpha-2</version>

</plugin>

</plugins>

</pluginManagement>

<plugins>

<plugin>

<artifactld>maven-help-plugin</artifactld>

<version>2.1.1</version>

15

</plugin>

</plugins>

</build>

<repositories>

<repository>

<snapshots>

<enabled>false</enabled>

</snapshots>

<id>central</id>

<name>MavenRepositorySwitchboard</name>

<url>

</repository>

</repositories>

<pluginRepositories>

<pluginRepository>

<releases>

<updatePolicy>never</updatePolicy>

</releases>

<snapshots>

<enabled>false</enabled>

</snapshots>

<id>central</id>

16

<name>MavenPluginRepository</name>

<url>

</pluginRepository>

</pluginRepositories>

<reporting>

<outputDirectory>C:\MVN\project\target/site</outputDirectory>

</reporting>

</project>

在上面的pom.xml中,你可以看到項(xiàng)目默認(rèn)的源文件目錄結(jié)構(gòu),輸出路徑,需要的插件,

報(bào)告目錄,這些信息Maven在執(zhí)行期望的目標(biāo)操作時(shí)都會(huì)用到。

Maven的pom.xml也不要求手動(dòng)寫。

1.<projectxmlns=""

2.xmlns:xsi=""

3.xsi:schemaLocation:””>

4.<!--父項(xiàng)目的坐標(biāo)。如果項(xiàng)目中沒有規(guī)定某個(gè)元素的值,那么父項(xiàng)

目中的對(duì)應(yīng)值即為項(xiàng)目的默認(rèn)值。坐標(biāo)包括groupID,artifactID和v

ersiono-->

5.<parent>

6.<!一被繼承的父項(xiàng)目的構(gòu)件標(biāo)識(shí)符-->

7.<artifactId/>

8.<!--被繼承的父項(xiàng)目的全球唯一標(biāo)識(shí)符-->

9.<groupId/>

10.<!--被繼承的父項(xiàng)目的版本-->

11.<version/>

12.<!--父項(xiàng)目的pom.xml文件的相對(duì)路徑。相對(duì)路徑允許你選擇一

個(gè)不同的路徑。默認(rèn)值是../pom.xml。Maven首先在構(gòu)建當(dāng)前項(xiàng)目的地方

尋找父項(xiàng)目的pom,其次在土件系統(tǒng)的這個(gè)位置(relativePath位置),

然后在本地倉庫,最后在遠(yuǎn)程倉庫尋找父項(xiàng)目的pom。-->

13.<relativePath/>

17

14.</parent>

15.<!--聲明項(xiàng)目描述符遵循哪一個(gè)POM模型版本。模型本身的版本很少改

變,雖然如此,但它仍然是必不可少的,這是為了當(dāng)Maven引入了新的特

性或者其他模型變更的時(shí)候,確保穩(wěn)定性。-->

16.<modelVersion>4.0.0</modelVersion>

17.<!一項(xiàng)目的全球唯一標(biāo)識(shí)符,通常使用全限定的包名區(qū)分該項(xiàng)目和

其他項(xiàng)目。并且構(gòu)建時(shí)生成的路徑也是由此生成,如com.mycompany.叩

p生成的相對(duì)路徑為:/com/mycompany/app-->

18.<groupld>asia.banseon</groupld>

19.<!--構(gòu)件的標(biāo)識(shí)符,它和groupID一起唯一標(biāo)識(shí)一個(gè)構(gòu)件。換句

話說,你不能有兩個(gè)不同的項(xiàng)目擁有同樣的artifact工D和groupID;在

某個(gè)特定的groupID下,artifactID也必須是唯一的。構(gòu)件是項(xiàng)目產(chǎn)

生的或使用的一個(gè)東西,Maven為項(xiàng)目產(chǎn)生的構(gòu)件包括:JARs,源碼,二

進(jìn)制發(fā)布和WARS等。-->

20.<artifactld>banseon-maven2</artifactld>

21.<!--項(xiàng)目產(chǎn)生的構(gòu)件類型,例如jar、war、ear>pom。插件可以

創(chuàng)建他們自己的構(gòu)件類型,所以前面列的不是全部構(gòu)件類型-->

22.<packaging>jar</packaging>

23.<"-項(xiàng)目當(dāng)前版本,格式為:主版本.次版本.增量版本-限定版本號(hào)

24.<version>l,0-SNAPSHOT</version>

25.<!--項(xiàng)目的名稱,Maven產(chǎn)生的文檔用-->

26.<name>banseon-maven</name>

27.<!--項(xiàng)目主頁的URL,Maven產(chǎn)生的文檔用-->

28.<url>

29.<!--項(xiàng)目的詳細(xì)描述,Maven產(chǎn)生的文檔用。當(dāng)這個(gè)元素能夠

用HTML格式描述時(shí)(例如,CDATA中的文本會(huì)被解析器忽略,就可以包含

HTML標(biāo)簽),不鼓勵(lì)使用純文本描述。如果你需要修改產(chǎn)生的web站點(diǎn)

的索引頁面,你應(yīng)該修改你自己的索引頁文件,而不是調(diào)整這里的文檔。-

30.<description>Amavenprojecttostudymaven.</descrip

tion>

31.<!--描述了這個(gè)項(xiàng)目構(gòu)建環(huán)境中的前提條件。一〉

32.<prerequisites>

33.<!一構(gòu)建該項(xiàng)目或使用該插件所需要的Maven的最低版本一>

34.<maven/>

35.</prerequisites>

18

36.<!--項(xiàng)目的問題管理系統(tǒng)(Bugzilla,lira,Scarab,或任何你喜歡

的問題管理系統(tǒng))的名稱和URL,本例為jira-->

37.<issueManagement>

38.<!--問題管理系統(tǒng)(例如jira)的名字,-->

39.<system>jira</system>

40.<!--該項(xiàng)目使用的問題管理系統(tǒng)的URL-->

41.<url>

42.</issueManagement>

43.<!貝目持續(xù)集成信息

44.<ciManagement>

45.<!--持續(xù)集成系統(tǒng)的名字,例如continuum-->

46.<system/>

47.<!--該項(xiàng)目使用的持續(xù)集成系統(tǒng)的URL(如果持續(xù)集成系統(tǒng)有web接

口的話)。-->

48.<url/>

49.<!--構(gòu)建完成時(shí),需要通知的開發(fā)者/用戶的配置項(xiàng)。包括被通知者信

息和通知條件(錯(cuò)誤,失敗,成功,警告)-->

50.<notifiers>

51.<!--配置一種方式,當(dāng)構(gòu)建中斷時(shí),以該方式通知用戶/開發(fā)者-

->

52.<notifier>

53.<!--傳送通知的途徑-->

54.<type/>

55.<!--發(fā)生錯(cuò)誤時(shí)是否通知-->

56.<sendOnError/>

57.<!--構(gòu)建失敗時(shí)是否通知-->

58.<sendOnFailure/>

59.<!--構(gòu)建成功時(shí)是否通知-->

60.<sendOnSuccess/>

61.<!--發(fā)生警告時(shí)是否通知-->

62.<sendOnWarning/>

63.<!--不贊成使用。通知發(fā)送到哪里一〉

64.<address/>

65.<!--擴(kuò)展配置項(xiàng)-->

66.<configuration/>

19

67.</notifier>

68.</notifiers>

69.</ciManagement>

70.<!--項(xiàng)目創(chuàng)建年份,4位數(shù)字。當(dāng)產(chǎn)生版權(quán)信息時(shí)需要使用這個(gè)值。-

->

71.<inceptionYear/>

72.<!--項(xiàng)目相關(guān)郵件列表信息-->

73.<mailingLists>

74.<!--該元素描述了項(xiàng)目相關(guān)的所有郵件列表。自動(dòng)產(chǎn)生的網(wǎng)站引用

這些信息。-->

75.<mailingList>

76.<!--郵件的名稱-->

77.<name>Demo</name>

78.<!--發(fā)送郵件的地址或鏈接,如果是郵件地址,創(chuàng)建文檔

時(shí),mailto:鏈接會(huì)被自動(dòng)創(chuàng)建-->

79.<post>banseon@</post>

80.<!--訂閱郵件的地址或鏈接,如果是郵件地址,創(chuàng)建文檔

時(shí),mailto:鏈接會(huì)被自動(dòng)創(chuàng)建-->

81.<subscribe>banseon@</subscribe>

82.<!--取消訂閱郵件的地址或鏈接,如果是郵件地址,創(chuàng)建

文檔時(shí),mailto:鏈接會(huì)被自動(dòng)創(chuàng)建-->

83.<unsubscribe>banseon@</unsubscribe>

84.<!--你可以瀏覽郵件信息的URL-->

85.<archive>http:/

86.</mailingList>

87.</mailingLists>

88.<!--項(xiàng)目開發(fā)者列表-->

89.<developers>

90.<!--某個(gè)項(xiàng)目開發(fā)者的信息-->

91.<developer>

92.<!--SCM里項(xiàng)目開發(fā)者的唯一標(biāo)識(shí)符-->

93.<id>HELLOWORLD</id>

94.<!--項(xiàng)目開發(fā)者的全名-->

95.<name>banseon</name>

96.<!--項(xiàng)目開發(fā)者的email-->

20

97.<email>banseon@</email>

98.<!--項(xiàng)目開發(fā)者的主頁的URL-->

99.<url/>

100.<!--項(xiàng)目開發(fā)者在項(xiàng)目中扮演的角色,角色元素描述了各

種角色-->

101.<roles>

102.<role>ProjectManager</role>

103.<role>Architect</role>

104.</roles>

105.<!--項(xiàng)目開發(fā)者所屬組織

106.<organization>demo</organization>

107.<!--項(xiàng)目開發(fā)者所屬組織的URL-->

108.<organizationllrl>

109.<!--項(xiàng)目開發(fā)者屬性,如即時(shí)消息如何處理等-->

110.<properties>

111.<dept>No</dept>

112.</properties>

113.<!--項(xiàng)目開發(fā)者所在時(shí)區(qū),-11到12范圍內(nèi)的整數(shù)。-

->

114.<timezone>-5</timezone>

115.</developer>

116.</developers>

117.<!--1貝目的其他貢獻(xiàn)者列表-->

118.<contributors>

119.<!--項(xiàng)目的其他貢獻(xiàn)者。參見developers/deve

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論