maven基础知识学习及插件的使用.docx

上传人:b****2 文档编号:14434936 上传时间:2023-04-23 格式:DOCX 页数:130 大小:181.34KB
下载 相关 举报
maven基础知识学习及插件的使用.docx_第1页
第1页 / 共130页
maven基础知识学习及插件的使用.docx_第2页
第2页 / 共130页
maven基础知识学习及插件的使用.docx_第3页
第3页 / 共130页
maven基础知识学习及插件的使用.docx_第4页
第4页 / 共130页
maven基础知识学习及插件的使用.docx_第5页
第5页 / 共130页
点击查看更多>>
下载资源
资源描述

maven基础知识学习及插件的使用.docx

《maven基础知识学习及插件的使用.docx》由会员分享,可在线阅读,更多相关《maven基础知识学习及插件的使用.docx(130页珍藏版)》请在冰豆网上搜索。

maven基础知识学习及插件的使用.docx

maven基础知识学习及插件的使用

转自:

https:

//ayayui.gitbooks.io/tutorialspoint-maven/content/book/maven_overview.html5

Maven-概述5

Maven是什么?

5

Maven的历史5

Maven的目标5

约定优先于配置6

Maven-环境搭建6

系统要求6

第1步:

验证Java是否安装6

第2步:

配置JAVA环境7

第3步:

下载Maven安装文件8

第4步:

解压Maven安装文件8

第5步:

设置Maven的环境变量8

第6步:

添加Maven的bin目录到系统路径9

第7步:

验证Maven是否正确安装9

Maven-POM10

POM示例10

SuperPOM11

Maven-构建生命周期40

什么是构建生命周期?

41

Clean生命周期41

默认生命周期(或构建生命周期)45

Site生命周期51

Maven-构建配置文件55

什么是构建配置文件?

55

构建配置文件的类型56

配置文件激活56

配置文件激活示例56

显式配置文件激活57

通过Maven设置激活配置文件61

通过环境变量激活配置文件62

通过操作系统激活配置文件62

通过文件的存在或者缺失激活配置文件63

Maven-仓库64

什么是Maven仓库?

64

本地仓库64

中央仓库65

远程仓库65

Maven依赖搜索顺序66

Maven-插件67

什么是Maven插件?

67

插件类型67

示例68

Maven-创建项目71

Maven-构建和测试项目76

添加Java源文件79

Maven-外部依赖80

Maven-项目文档83

Maven-项目模板86

什么是Archetype?

86

使用项目模板86

创建好的项目89

创建好的POM.xml文件90

创建好的App.java文件91

创建好的AppTest.java文件92

Maven-快照93

什么是快照?

94

项目快照vs版本94

app-ui项目的pom.xml文件94

data-service项目的pom.xml文件95

Maven-自动化构建97

示例97

使用Maven99

将持续集成用于Maven103

Maven-管理依赖103

可传递性依赖发现103

依赖作用域(DependencyScope)104

依赖管理(DependencyManagement)104

Maven-自动化部署109

问题说明110

解决方法110

修改项目的POM.xml110

MavenRelease插件112

Maven-Web应用113

创建Web应用113

POM.xml文件115

构建Web应用116

部署Web应用118

测试Web应用118

转自:

https:

//ayayui.gitbooks.io/tutorialspoint-maven/content/book/maven_overview.html

Maven-概述

Maven是什么?

Maven是一种项目管理和理解工具。

Maven向开发者提供了一个完整的构建生命周期框架。

开发团队几乎不用花时间就可以使用自动化构建项目的基础框架,因为Maven使用了一套标准的目录结构和默认的构建生命周期。

在存在多个开发团队的场景中,Maven可以在很短的时间内按标准建立起工作方式。

因为大多数的项目配置简单并且可重用,Maven简化了开发者在创建报告,检查,构建和测试自动化配置中的工作。

Maven提供给开发者管理如下过程的方法:

∙项目构建(Builds)

∙文档(Documentation)

∙报告(Reporting)

∙项目依赖(Dependencies)

∙软件配置管理(SCMs)

∙发布(Releases)

∙分发(Distribution)

∙邮件列表(mailinglist)

总的来说,Maven简化和统一了项目构建的过程。

它无缝地处理项目编译,分发,文档,团队合作和其他任务,增加了任务处理的重用性,并可以处理大多数构建相关的任务。

Maven的历史

Maven最初是在JakartaTurbine项目中设计出来,用作简化项目构建步骤。

这个项目有若干子项目并且每个项目包含的ANT构建文件只有些许的差别。

项目中JAR包那时是检入到CVS中。

然后Apache组织开发了Maven ,它可以把多个项目一起构建,发布多项目信息,完成多项目部署,在多项目间共享JAR包并且帮助团队间一起合作。

Maven的目标

Maven主要的目标是提供给开发者

∙一种综合全面的模型,对项目来说可以重用,易于维护并且更容易理解

∙可以与这种声明式模型相互作用的插件或者工具

Maven项目结构和内容声明在一个xml文件中——pom.xml,称之为项目对象模型(POM)。

它是整个Maven系统的基本单元。

更多信息参考 MavenPOM 章节。

约定优先于配置

Maven使用约定优先于配置,这意味着开发者不用自己创建构建流程。

开发者不需要指明每一个配置详情。

Maven为项目提供了合理的默认行为。

当创建一个Maven项目时,Maven会创建默认的项目结构。

开发者只需要按照对应地放置文件,而不需要在pom.xml文件中做任何配置。

举个例子,假设${basedir}表示项目路径,下面的表格展示了项目源码文件目录、资源文件目录和其他配置的默认值:

Item

Default

sourcecode

${basedir}/src/main/java

resources

${basedir}/src/main/resources

Tests

${basedir}/src/test

Compliedbytecode

${basedir}/target

distributableJAR

${basedir}/target/classes

为了构建项目,Maven提供给开发者指明生命周期目标和项目依赖(依靠Maven的插件功能和默认约定实现)的选项。

有大量的项目管理和构建相关的任务是由Maven插件维护的。

Maven-环境搭建

Maven是基于Java的工具,所以首要必须的要求是你的电脑上安装有JDK。

系统要求

JDK

1.5版本或更高。

内存

无最小要求。

硬盘空间

无最小要求。

操作系统

无最小要求。

第1步:

验证Java是否安装

操作系统

操作

命令

Windows

打开命令提示符

c:

>java-version

Linux

打开命令终端

$java-version

Mac

打开终端

machine:

~joseph$java-version

让我们来验证下各个操作系统的输出:

操作系统

输出

Windows

javaversion"1.6.0_21"

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

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

Linux

javaversion"1.6.0_21"

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

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

Mac

javaversion"1.6.0_21"

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

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

如果你没有安装Java,请从 安装JDK。

在此教程中我们假设安装的是Java1.6.0_21版本。

第2步:

配置JAVA环境

设置 JAVA_HOME 环境变量指向你电脑中Java的安装根目录。

示例如下:

操作系统

输出

Windows

设置环境变量JAVA_HOME为C:

\ProgramFiles\Java\jdk1.6.0_21

Linux

exportJAVA_HOME=/usr/local/java-current

Mac

exportJAVA_HOME=/Library/Java/Home

将Java编译器路径添加到系统路径。

操作系统

操作

Windows

在系统变量Path后添加字符串;C:

\ProgramFiles\Java\jdk1.6.0_21\bin

Linux

exportPATH=$PATH:

$JAVA_HOME/bin/

Mac

不需要

使用上面提到的java-version 命令验证Java安装。

第3步:

下载Maven安装文件

从http:

//maven.apache.org/download.html下载Maven2.2.1。

操作系统

文件名

Windows

apache-maven-2.2.1-bin.zip

Linux

apache-maven-2.2.1-bin.tar.gz

Mac

apache-maven-2.2.1-bin.tar.gz

第4步:

解压Maven安装文件

解压Maven的安装文件到你想要的目录。

在此过程中,子目录apache-maven-2.2.1将会被创建。

操作系统

路径(根据你的安装方式会有所不同)

Windows

C:

\ProgramFiles\ApacheSoftwareFoundation\apache-maven-2.2.1

Linux

/usr/local/apache-maven

Mac

/usr/local/apache-maven

第5步:

设置Maven的环境变量

向环境变量中添加M2_HOME,M2,MAVEN_OPTS变量.

操作系统

路径(根据你的安装方式会有所不同)

Windows

使用系统属性设置环境变量。

M2_HOME=C:

\ProgramFiles\ApacheSoftwareFoundation\apache-maven-2.2.1

M2=%M2_HOME%\bin

MAVEN_OPTS=-Xms256m-Xmx512m

Linux

打开命令终端设置环境变量。

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

exportM2=$M2_HOME/bin

exportMAVEN_OPTS=-Xms256m-Xmx512m

Mac

打开命令终端设置环境变量。

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

exportM2=$M2_HOME/bin

exportMAVEN_OPTS=-Xms256m-Xmx512m

第6步:

添加Maven的bin目录到系统路径

现在添加变量M2到系统目录中

操作系统

操作

Windows

在系统变量Path后添加字符串;%M2%

Linux

exportPATH=$M2:

$PATH

Mac

exportPATH=$M2:

$PATH

第7步:

验证Maven是否正确安装

现在打开终端命令行,然后执行下面的mvn命令。

操作系统

操作

命令

Windows

打开命令提示符

c:

>mvn--version

Linux

打开命令终端

$mvn--version

Mac

打开终端

machine:

~joseph$mvn--version

最后来验证上述命令的输出,内容应该如下:

操作系统

输出

Windows

ApacheMaven2.2.1(r801777;2009-08-0700:

46:

01+0530)

Javaversion:

1.6.0_21

Javahome:

C:

\ProgramFiles\Java\jdk1.6.0_21\jre

Linux

ApacheMaven2.2.1(r801777;2009-08-0700:

46:

01+0530)

Javaversion:

1.6.0_21

Javahome:

C:

\ProgramFiles\Java\jdk1.6.0_21\jre

Mac

ApacheMaven2.2.1(r801777;2009-08-0700:

46:

01+0530)

Javaversion:

1.6.0_21

Javahome:

C:

\ProgramFiles\Java\jdk1.6.0_21\jre

Maven-POM

POM意为项目对象模型(ProjectObjectModel),是Maven中基本单元。

它是一个名为pom.xml的XML文件,总是存在于项目的更目录下。

POM包含了项目相关的信息和Maven用来构建一个或多个项目的各种配置详情。

POM也包含了各种目标操作(goal)和插件。

当执行一个任务或者目标操作时,Maven会查找当前目录下的POM。

Maven读取POM,从中获得需要的配置信息,然后执行目标操作。

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

∙项目依赖(projectdependencies)

∙插件(plugins)

∙目标操作(goals)

∙构建(buildprofiles)

∙项目版本(projectversion)

∙开发者(developers)

∙邮件列表(mailinglist)

在创建一个POM之前,我们首先应该决定项目组织(groupId),项目命名(artifactId)和项目版本,因为这些属性信息可以帮助我们在项目仓库中唯一确定一个项目。

POM示例

//maven.apache.org/POM/4.0.0"

xmlns:

xsi="http:

//www.w3.org/2001/XMLSchema-instance"

xsi:

schemaLocation="http:

//maven.apache.org/POM/4.0.0

http:

//maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

panyname.project-group

project

1.0

要注意的是每个项目需要有唯一的POM文件。

∙所有的POM文件要求有projec节点和三个必须字段:

groupId,artifactId,version。

∙在仓库中项目的标识为groupId:

artifactId:

version。

∙POM.xml的根节点是project并且其下有三个主要的子节点:

节点

描述

groupId

项目组织的Id。

通常在一个项目或者一个组织之中,这个Id是唯一的。

例如,某个Id为pany.bank的银行组织包含所有银行相关的项目。

artifactId

项目的Id,通常是项目的名字。

例如,consumer-banking。

artifactId与groupId一起定义了仓库中项目构件的路径。

version

项目的版本。

它与groupId一起,在项目构件仓库中用作区分不同的版本,例如:

pany.bank:

consumer-banking:

1.0

pany.bank:

consumer-banking:

1.1.

SuperPOM

所有的POM都继承一个父类POM(不管是显示定义继承的还是没有显示定义的)。

这个基础的POM被称为超类POM(SuperPOM) ,它包含了POM默认继承的属性值。

Maven使用有效的POM(effectivepom,其配置来源于超类POM加上项目配置)来执行相关的目标操作。

这能帮助开发者在他/她的pom.xml中识别出最小量的配置详情,虽说起来配置覆盖也非常地容易。

一个简单的查看超类POM的默认配置的方法是裕兴如下的命令:

mvnhelp:

effective-pom

在你的电脑任意目录下创建一个pom.xml文件,内容使用上面提到的pom示例中的。

在展示下面的例子前,我们已经在C:

\MVN\project文件夹中创建了一个pom.xml文件。

现在打开命令控制台,去到包含pom.xml的文件夹,然后执行下面的mvn命令。

C:

\MVN\project>mvnhelp:

effective-pom

Maven将开始处理并显示有效的pom(effective-pom).

[INFO]Scanningforprojects...

[INFO]Searchingrepositoryforpluginwithprefix:

'help'.

[INFO]------------------------------------------------------------------------

[INFO]BuildingUnnamed-panyname.project-group:

project-name:

jar:

1.0

[INFO]task-segment:

[help:

effective-pom](aggregator-style)

[INFO]------------------------------------------------------------------------

[INFO][help:

effective-pom{execution:

default-cli}]

[INFO]

.....

[INFO]------------------------------------------------------------------------

[INFO]BUILDSUCCESSFUL

[INFO]------------------------------------------------------------------------

[INFO]Totaltime:

<1second

[INFO]Finishedat:

ThuJul0511:

41:

51IST2012

[INFO]FinalMemory:

6M/15M

[INFO]------------------------------------------------------------------------

EffectivePOM在继承(inheritance)、插值(interpolation)和使用配置(profileapplying)后,展示的就如控制台中的结果一样。

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

>

--=================================================================-->

---->

--GeneratedbyMavenHelpPluginon2012-07-05T11:

41:

51-->

--See:

http:

//maven.apache.org/plugins/maven-help-plugin/-->

---->

--=================================================================-->

--=================================================================-->

---->

--EffectivePOMforproject-->

--'panyname.project-group:

project-name:

jar:

1.0'-->

---->

--=================================================================-->

//maven.apache.org/POM/4.0.0"xmlns:

xsi="http:

//www.w3.org/

2001/XMLSchema-instance"xsi:

schemaLocation="http:

//maven.apache.org/POM/4.0.0h

ttp:

//maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

panyname.project-group

project

1.0

C:

\MVN\project\src\main\java

src/main/scripts

C:

\MVN\project\src\test\java

C:

\MVN\project\target\classes

C:

\MVN\project\target\test-classes

resource-0

C:

\MVN\project\src\ma

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1