Maven从入门到精通的吐血之作.docx

上传人:b****3 文档编号:4890481 上传时间:2022-12-11 格式:DOCX 页数:33 大小:1.46MB
下载 相关 举报
Maven从入门到精通的吐血之作.docx_第1页
第1页 / 共33页
Maven从入门到精通的吐血之作.docx_第2页
第2页 / 共33页
Maven从入门到精通的吐血之作.docx_第3页
第3页 / 共33页
Maven从入门到精通的吐血之作.docx_第4页
第4页 / 共33页
Maven从入门到精通的吐血之作.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

Maven从入门到精通的吐血之作.docx

《Maven从入门到精通的吐血之作.docx》由会员分享,可在线阅读,更多相关《Maven从入门到精通的吐血之作.docx(33页珍藏版)》请在冰豆网上搜索。

Maven从入门到精通的吐血之作.docx

Maven从入门到精通的吐血之作

 

Maven学习笔记

 

2010-6-25

目录

目录-1-

前言1

一、知识准备2

1.1项目模型POM2

1.2生命周期2

1.3安装及测试2

1.4帮助命令2

二、Maven入门和初步进阶3

2.1入门例子3

2.2进阶例子——SimpleWeather4

2.2.1项目说明4

2.2.2创建项目4

2.2.3为pom增加组织、法律和开发人员信息4

2.2.4Eclipse版本——为项目增加新的依赖——Maven镜像4

2.2.5Eclipse版本——为项目增加新的依赖——Eclipse导入NexusIndex5

2.2.6Eclipse版本——为项目增加新的依赖——可视化导入包6

2.2.7Eclipse版本——为项目增加新的依赖——实现依赖包导入7

2.2.8手工版本——为项目增加新的依赖——POM写入依赖包8

2.2.9手工版本——为项目增加新的依赖——远程下载包9

2.3源码9

2.3.1源码功能介绍9

2.3.2依次加入类10

2.3.3添加外部项目资源11

2.3.4运行main13

2.3.5关于exec插件和项目依赖介绍14

2.3.6单元测试14

2.3.7构建一个大包好的命令行应用程序14

三、Maven——web简单应用16

3.1生成项目16

3.2配置jetty——命令行启动和Eclipse启动17

3.3添加一个servlet——添加J2EE依赖19

3.3.1添加servlet2.5规格说明作为依赖19

3.3.2添加jsp2.0规格说明作为依赖19

3.3.3添加一个servlet20

3.3.4配置web.xml20

3.3.5运行21

四、Maven——web应用进阶——简单多模块项目22

4.1创建项目22

4.2父级项目25

4.3加入module26

4.4simple_weather模块29

4.5webapp模块30

附录35

1、手工安装第三方jar35

2、更新本地索引35

前言

本文针对Maven2.1.0。

其余版本不再本文叙述范围内,特此声明。

本文内容为是一份名为《Maven权威指南中文版》的文档为基础进行的学习记录。

一、知识准备

1.1项目模型POM

groupId:

artifactId:

packaging:

version

对应Maven仓库存放目录结构:

/groupId/artifactId/version/artifactId-version.packaging

1.2生命周期

lifecycle——phase——goal

1.3安装及测试

解压Maven2.1.0至任何目录,配置环境变量:

新增M2_HOME=Maven的解压目录

修改PATH=Maven的bin目录

新增MAVEN_OPTS=-Xms256m-Xmx512m

重启电脑,在命令行输入mvn–version,如果显示版本号即为安装成功。

1.4帮助命令

mvnhelp:

describe{[–Dcmd=][-Dplugin=][-DgroupID=-DartifactID=]}

如果需要详细信息可在最后加上“-Ddetail”。

二、Maven入门和初步进阶

2.1入门例子

用Maven命令生成一个最简单的项目。

命令行如下:

##########################################################################

D:

\NewWorld>mvnarchetype:

create-DgroupId=com.mycom.test-DartifactId=simple

##########################################################################

在【NewWorld】目录下生成名为“simple”的Maven项目。

为方便查看,把生成的项目转为Eclipse项目(Eclipse插件已安装相关插件)。

但是,在Maven不熟悉的情况下,还是通过最普通的资源管理器方式查看以及用命令行方式执行Maven命令,不建议现在就使用Eclipse!

进入到带有【.pom】文件的目录级别,基本上就是在项目的跟目录下,之后对项目处理的命名均是在这个目录下执行,执行命令行如下:

##########################################################################

D:

\NewWorld\simple>mvneclipse:

eclipse

##########################################################################

使用Eclipse直接导入simple项目即可。

在此,可以用命令行输入“mvnsite”用于生成项目站点(实际上就是一个网页格式项目说明书)、“mvnpackage”用于项目打包、“mvninstall”用于项目安装至Maven仓库(目录结构在第一部分以提及)。

2.2进阶例子——SimpleWeather

2.2.1项目说明

一个基本命令行驱动的应用程序,接受邮件编码输入,然后从“Yahoo!

WeatherRSS”源获取数据,然后解析数据并把结果打印输出。

2.2.2创建项目

命令行如下:

##########################################################################

D:

\NewWorld>mvnarchetype:

create-DgroupId=com.mycom.test-DartifactId=Simple-Weather

##########################################################################

2.2.3为pom增加组织、法律和开发人员信息

在pom的根中包含标签(具体内容略)

2.2.4Eclipse版本——为项目增加新的依赖——Maven镜像

参看同系列文档《nexus仓库管理》,本文在这里配置了一个Nexus镜像,用户级setting.xml镜像部分增加代码如下:

##########################################################################

Nexus

central

Nexus-My-Test

http:

//127.0.0.1:

8081/nexus/content/groups/public/

##########################################################################

2.2.5Eclipse版本——为项目增加新的依赖——Eclipse导入NexusIndex

在Eclipse【windows】-【showview】-【other】找到【Maven】-【Index】。

将出现一个Maven-Index控制台。

在控制台中右击选择添加索引。

输入Nexus对应的仓库地址。

最后刷新即可看到一堆包。

这个时候打开pom就可以方便地有提示地输入相应的依赖包了。

2.2.6Eclipse版本——为项目增加新的依赖——可视化导入包

点击下图右上角那个小瓶子增加。

在增加的时候注意,默认会选择最新的版本,但是经常最新版本是一个非正式版,这种版本通常不能正常使用,所以,要注意版本号,然后选择。

2.2.7Eclipse版本——为项目增加新的依赖——实现依赖包导入

实际上,上面在pom中加入依赖并非一定要使用Eclipse,只是这样加入更加的方便和准确,其实是可以手工慢慢敲入的。

pom加入依赖之后,在命令行,执行

##########################################################################

D:

\NewWorld\Simple-Weather>mvninstall

##########################################################################

如果你Maven本地仓库中没有这些依赖包,则会提示下载。

这样便实现了依赖导入了。

2.2.8手工版本——为项目增加新的依赖——POM写入依赖包

在已有的pom文件里面找到junit依赖的地方,放入如下代码:

##########################################################################

log4j

log4j

1.2.14

dom4j

dom4j

1.6.1

jaxen

jaxen

1.1.1

velocity

velocity

1.5

mons

commons-io

1.3.2

test

##########################################################################

2.2.9手工版本——为项目增加新的依赖——远程下载包

上面的Eclipse版本在maven中建了镜像,使用了nexus作为远程仓库(也有人叫私服),新增的依赖包会先从镜像中搜寻下载。

现在不使用镜像,即把maven配置中的镜像配置删除,之后,直接使用

##########################################################################

mvninstall

##########################################################################

这样maven会从远程库,也就是默认配置中的http:

//repo1.maven.org/maven2/搜寻下载。

2.3源码

2.3.1源码功能介绍

这里由于更改了包名,所以学习需要对应各个包。

由于方便检查错误以及编译方便,这里还是使用Eclipse,但是注意,使用的是上一步骤里面的手工版本添加依赖,即不使用maven镜像。

执行:

##########################################################################

mvneclipse:

eclipse

##########################################################################

然后导入到Eclipse中。

2.3.2依次加入类

从源码中复制到项目。

1、weather.java

2、main.java

3、YahooRetriever.java

4、YahooParser.java

5、WeatherFormatter.java

2.3.3添加外部项目资源

在【main】目录下新建文件夹【resources】,把对应的【log4j.properties】、【output.vm】文件放入到该文件夹中。

注意,如果使用Eclipse,对于新手,很容易误认为直接在src/main下面加个folder就OK的,实际上应该是增加一个“sourcefolder”!

然后再把文件复制进来。

如上,那个sourcefolder是类似package有个包的!

当sourcefolder加入以后,在下面的src普通folder会同步出现一个名叫【resources】的文件夹。

2.3.4运行main

执行:

##########################################################################

mvninstall

##########################################################################

之后执行(这里的空间由于更换了电脑关系,名字变了,但不会有影响。

##########################################################################

D:

\MyWorld\Simple-Weather>mvnexec:

java-Dexec.mainClass=com.mycom.test.weather.Main

##########################################################################

如果正确会出现

如果用Eclipse,在install之后,也可以像普通Java应用程序一样运行

2.3.5关于exec插件和项目依赖介绍

具体对照《maven权威指南》相应的部分。

2.3.6单元测试

(略)

2.3.7构建一个大包好的命令行应用程序

从上面看到,要运行这个项目,要么要使用maven,要么要在Eclipse里面,外部依赖是没有加入到jar中的。

mavenassembly插件就有这个功能。

在pom中配置mavenassembly描述符(具体位置查看源码)

##########################################################################

maven-assembly-plugin

jar-with-dependencies

##########################################################################

之后执行

##########################################################################

mvninstallassembly:

assembly

##########################################################################

如果成功,会生成一个比较大的包,会把依赖都加进来了。

但是这个不是很好的做法!

据说后面会有改进做法。

三、Maven——web简单应用

3.1生成项目

执行:

##########################################################################

D:

\NewWorld>mvnarchetype:

generate

##########################################################################

之后选择18,就是那个web应用,默认是15,也就是我们上面那个例子默认的模型,之后是groupId、artifactId等:

##########################################################################

DefinevalueforgroupId:

:

com.mycom.test

DefinevalueforartifactId:

:

simple-webapp

##########################################################################

生成的项目注意在pom中有两个地方不同

war

这个是打包方式

以及

simple-webapp

这个是打包名字。

3.2配置jetty——命令行启动和Eclipse启动

在pom中配置(具体查阅源代码)

##########################################################################

simple-webapp

org.mortbay.jetty

jetty-maven-plugin

6.1.18

##########################################################################

##########################################################################

mvninstall

##########################################################################

因为jetty默认端口为8080,通常这个端口会被占用,所以这样启动

##########################################################################

mvn-Djetty.port=8087jetty:

run

##########################################################################

用Eclipse,导入的是6.1.18版本的Maven-jetty-plugin。

用Eclipse启动则可以通过以下方法方便启动:

【run】-【externaltools】-【externaltoolsconfiguration】弹出以下界面:

在左边菜单【program】右击【new】,出现一个新配置项目,点击。

之后在右边的配置界面中,name部分为改写配置名字(现在已经改为jetty),在location中选择当前Maven的【mvn.bat】安装路径。

在workingdirectory中选择当前项目。

在下面的argument中输入mvn的命令代码,注意里面不需要再添加“mvn”。

最后点击apply,然后run即可。

之后在

这里便是快捷方式。

配置好之后,mvninstall,然后启动jetty服务器,在浏览器中便可以浏览那个helloworld了。

3.3添加一个servlet——添加J2EE依赖

3.3.1添加servlet2.5规格说明作为依赖

这里我是使用了Eclipse来导入的,版本与《指南》不一致。

##########################################################################

org.apache.geronimo.specs

geronimo-servlet_2.5_spec

1.2

jar

compile

##########################################################################

注意,用Eclipse可以使用相同的方法加入索引,但是Maven下载不一定要使用Nexus镜像,也就是说,Eclipse里面可以配置Nexus的索引,但是Maven的用户级配置文件里面不需要配置镜像,这样,下载的时候还是会直接在默认官网上下载,因为我碰到过一种情况,通过Nexus下载的包出现问题。

同时下载东西,最好还是用Eclipse下载,Eclipse能够检测出下载是否完整,如果出错会自动重新下载的。

3.3.2添加jsp2.0规格说明作为依赖

##########################################################################

org.apache.geronimo.specs

geronimo-jsp_2.0_spec

1.1

jar

compile

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

当前位置:首页 > 法律文书 > 调解书

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

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