maven学习笔记.docx

上传人:b****4 文档编号:4877598 上传时间:2022-12-11 格式:DOCX 页数:12 大小:391.45KB
下载 相关 举报
maven学习笔记.docx_第1页
第1页 / 共12页
maven学习笔记.docx_第2页
第2页 / 共12页
maven学习笔记.docx_第3页
第3页 / 共12页
maven学习笔记.docx_第4页
第4页 / 共12页
maven学习笔记.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

maven学习笔记.docx

《maven学习笔记.docx》由会员分享,可在线阅读,更多相关《maven学习笔记.docx(12页珍藏版)》请在冰豆网上搜索。

maven学习笔记.docx

maven学习笔记

Maven学习笔记

一、初识Maven

学习maven之前,只知道maven是一个项目管理工具,具体怎么管,能做什么,完全没有概念。

来自XX的关于maven的定义:

Maven是一个项目管理工具,它包含了一个项目对象模型(ProjectObjectModel),一组标准集合,一个项目生命周期(ProjectLifecycle),一个依赖管理系统(DependencyManagementSystem),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。

当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。

初学时,我们可以简单的把maven当成一个项目构建工具,我自己的理解就是,maven在项目搭建中帮我们省去了大部分花在编译,运行单元测试,打包和部署的这些时间,它可以使这一系列的工作完全自动化。

下面学习开始……

二、下载与安装

1.maven下载地址:

http:

//maven.apache.org/download.html。

这个是maven的官网下载地址。

我下载的版本是3.0.3。

2.下载后解压,配置环境变量。

和配置jdk的环境变量的方法类似,我的电脑-->属性-->高级-->环境变量。

新建系统变量:

M2_HOME,值为解压后目录,例:

E:

\apache-maven-3.0.3。

在path里添加%M2_HOME%\bin。

3.检查maven是否安装成功:

打开命令提示符,输入mvn–version,查看maven是否安装成功。

出现以上提示表示maven安装成功。

4.了解maven的安装目录。

包含了运行Maven的mvn脚本

包含了一个负责创建Maven运行所需要的类装载器的JAR文件

包含了一个用来自定义你机器上Maven的一些行为的文件

有了一个包含Maven核心的JAR文件

包含了一些Maven依赖的类库所需要的通告及权限

包含了ApacheMaven的软件许可证

包含了一些安装指令

 

三、搭建maven项目

本文创建的工程所在的目录是E:

\mavenDemo。

1.用maven命令创建一个简单的Maven的app项目。

在cmd中运行以下命令:

该工程的groupId是ce.demo.mvn,那么该工程的源文件会放在Java包ce.demo.mvn中。

artifactId是app,那么该工程根目录的名称为app。

2.当第一次执行该命令时,Maven会从central仓库中下载一些文件。

这些文件包含插件archetype,以及它所依赖的其它包,耐心等待就可以了。

执行成功后应该是这个样子的:

3.执行完毕后,在E:

\mavenDemo目录下会出现一个app的文件夹。

它的目录布局应该是这个样子的:

4.生成的工程里的pom.xml。

//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.0http:

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

4.0.0

ce.demo.mvn

app

1.0-SNAPSHOT

jar

app

http:

//maven.apache.org

UTF-8

junit

junit

3.8.1

test

5.创建完成之后,就需要在cmd执行一些命令来验证了。

首先进入app目录,执行命令mvncompile。

然后会在该目录下发现新生成的目录target\classes,即编译后的class文件(包括它的包目录)就放在了这里。

再执行命令mvnpackage,在目录target中就会生成app-1.0.jar文件。

该文件的全名由如下形式确定:

artifactId-version.packaging。

最后执行命令mvninstall,会将项目jar包安装到本地仓库中,以便其他项目使用。

四、Eclipse构建maven项目

1.安装m2eclipse插件:

在eclipse里构建maven项目,首先需要安装m2eclipse。

打开Eclipse,在菜单栏中选择Help->InstallNewSoftware

在Install窗口中点击Workwith后面的Add按钮

在弹出的AddSite窗口中:

Name:

m2e,Location:

http:

//m2eclipse.sonatype.org/sites/m2e

点击OK按钮

在列表中勾选MavenIntegrationforEclipse,点击next按钮。

勾选所有选项点击Finish按钮,等待安装。

安装成功后重新启动eclipse。

2.建立自己的资源库

一般情况下,下载的依赖包会自动存放在我的文档里,这样如果重装系统或者C盘出现什么问题,你的资源库就会出问题,以前下过的资源包以后又要重新下载,很麻烦。

所以我们最好在别的地方建立自己的资源库,并进行配置。

(1)进入到C:

\Users\Administrator这个目录(xp和win7目录结构不一样,反正就是进入到用户文件夹),找到.m2这个文件夹。

进去拷贝settings.xml到你想指定的地方,我放到了E:

\work\maven下。

(2)打开settings.xml,找到

--localRepository

|Thepathtothelocalrepositorymavenwillusetostoreartifacts.

|

|Default:

~/.m2/repository

/path/to/local/repo

-->

下面加一行:

E:

\work\maven\repos

(3)建立repos文件夹。

(4)Eclipse里,window-->preferences-->Maven-->UserSetting下,修改为E:

\work\maven\settings.xml

(5)再进行编辑后,下载的资源包就会存放到你指定的目录下了。

3.在eclipse里配置maven:

(1)设置m2eclipse插件所关联的Maven程序:

选择window-->preferences-->Maven,在右边选择Add…按钮,就会”按钮,就会弹出如下选择Maven安装目录的选择窗口,选中Maven的安装目录,然后点击“确定”按钮:

(2)设置自定义本地仓库:

根据上图,找到UserSetting,UserSettings”节点,将它改为自己刚才设置的setting.xml的路径,如下图所示:

4.创建Maven工程,在菜单栏选择File->New->Other->Maven->MavenProject。

5.点击next,设置工作空间后再点击next,选择maven-archetype-quickstart,快速创建一个Maven的项目(如果创建一个web项目,要选择的是maven-archetype-webapp)。

6.设置GroupId:

项目或组织的唯一标识,ArtifactId:

工程名。

点击Finish,完成。

7.工程建立完成后的目录结构应该是这样的:

 

五、Maven的依赖

1.依赖的认识:

相信通过以上的学习,已经对Maven有了初步的了解。

在构建第一个Maven项目时,已经在pom.xml这个文件中接触到了依赖,因为项目测试中需要依赖junit.jar包,构建项目的时候自动就通过依赖导入了junit.jar。

我们可以在Maven的仓库中来查找引入依赖的构件。

Maven仓库的地址为:

我们来看上例中pom.xml中的依赖配置:

依赖会包含基本的groupId,artifactId,version等元素,根元素project下的dependencies可以包含一个或者多个dependency元素,可以声明一个或者多个依赖。

(1)groupId,artifactId和version:

依赖的基本坐标,对于任何一个依赖来说,基本坐标是最重要的,Maven根据坐标才能找到需要的依赖。

(2)type:

依赖的类型,对应于项目坐标定义的packaging。

大部分情况下,该元素不必声明,其默认值是jar。

(3)scope:

依赖的范围。

(4)optional:

标记依赖是否可选。

(5)exclusions:

用来排除传递性依赖。

2.依赖范围:

(1)compile:

编译依赖范围。

如果没有指定,就会默认使用该依赖范围。

使用此依赖范围的Maven依赖,对于编译、测试、运行三种classpath都有效。

(2)test:

测试依赖范围。

使用此依赖范围的Maven依赖,只对于测试classpath有效,在编译主代码或者运行项目的使用时将无法使用此类依赖。

典型的例子就是JUnit,它只有在编译测试代码及运行测试的时候才需要。

(3)provided:

已提供依赖范围。

使用此依赖范围的Maven依赖,对于编译和测试classpath有效,但在运行时无效。

典型的例子是servlet-api,编译和测试项目的时候需要该依赖,但在运行项目的时候,由于容器已经提供,就不需要Maven重复地引入一遍。

(4)runtime:

运行时依赖范围。

使用此依赖范围的Maven依赖,对于测试和运行classpath有效,但在编译主代码时无效。

典型的例子是JDBC驱动实现,项目主代码的编译只需要JDK提供的JDBC接口,只有在执行测试或者运行项目的时候才需要实现上述接口的具体JDBC驱动。

3.传递性依赖与排除依赖:

有时候我们设置依赖时,比如想引入struts2,就会自动把struts2所依赖的包统统导进来,这就是传递性依赖。

有时候这是好事,然而有时候我们不需要其中的一些传递性依赖,或者会引起包与包之间的冲突,我们可以使用exclusions元素声明排除依赖,exclusions可以包含一个或者多个exclusion子元素,因此可以排除一个或者多个传递性依赖。

如下例:

4.将本地包导入到仓库:

有时网上的依赖包不是特别得全,又或者网络太慢导致有些包下不下来,这是就需要将我们自己本地的包导入到仓库中,再设置依赖的时候根据我们导包时设置的坐标,就可以导入我们自己的jar包到项目中。

(1)在命令行界面输入:

mvninstall:

install-file-Dfile=jar包的路径名称-DgroupId=坐标-DartifactId=组名-Dversion=版本号-Dpackaging=jar。

这里举一个例子,把本地的mypager-1.0-GA.jar导入到仓库:

出现以下提示,说明本地包导入成功。

(2)但是注意看,它导入的路径是e:

\apache-maven-3.0.3\lib,也就是说,执行成功后,jar包是导入了Maven的安装目录的lib下。

所以我们需要把mypager文件夹拷贝出来到我们自己的本地库里,也就是E:

\work\maven\repos下。

然后在pom.xml里引入的时候,我们就可以这么写:

这一章的内容大部分是网上的讲解,直接看的话肯定不好理解。

建议自己搭一个简单的maven工程,在pom.xml里自己设置几个简单的依赖试试,比如写一个mysql的增删改查,你就需要导入mysql的jar包,就需要设置依赖导入啦。

然后再接着把项目扩大一点点的引入其他的包。

六、在Eclipse里构建Struts2+Hibernate+Spring项目

1.创建Maven工程就像第四章那样,记得要选择maven-archetype-webapp。

这个才是web项目。

2.需要自己创建src/main/resources,项目的配置文件就放在这里。

而项目的源代码则放在src/main/java。

Web资源:

包括html、css、js、jsp、等存放在src-->main-->webapp下。

3.和构建普通ssh项目一样,创建struts.xml、hibernate.cfg.xml、applicationContext.xml配置文件,修改web.xml等搭建ssh项目必须的工作。

4.接下来就是初学者万分苦恼的工作了……依赖的配置!

这里需要注意并一定要注意的是,一定要时刻关注传递性依赖,解决传递性依赖的方法就是排除依赖……总之,要有耐心,本人解决这个问题整整用了两天……不过解决之后,非常有助于了解每个包在项目里的作用,以及了解替代包与包冲突。

5.搭建好项目后,需要做的就是发布这个项目了。

(1)右键项目-->Runas-->Mavenbuild…

(2)在出现的窗口输入”cleanpackage”,回车。

(3)刷新工程,在target里就出现了下面的内容,将war文件拷贝到tomcat的webapps目录下,启动tomcat,访问你的项目…OK!

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

当前位置:首页 > 求职职场 > 简历

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

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