Maven从入门到精通的吐血之作Word文件下载.docx

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

Maven从入门到精通的吐血之作Word文件下载.docx

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

Maven从入门到精通的吐血之作Word文件下载.docx

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】文件的目录级别,基本上就是在项目的跟目录下,之后对项目处理的命名均是在这个目录下执行,执行命令行如下:

\NewWorld\simple>

mvneclipse:

eclipse

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

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

2.2进阶例子——SimpleWeather

2.2.1项目说明

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

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

2.2.2创建项目

命令行如下:

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

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

在pom的根中包含标签<

licenses>

<

organisation>

developers>

(具体内容略)

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

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

mirrors>

<

mirror>

id>

Nexus<

/id>

mirrorOf>

central<

/mirrorOf>

name>

Nexus-My-Test<

/name>

url>

http:

//127.0.0.1:

8081/nexus/content/groups/public/<

/url>

/mirror>

/mirrors>

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

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

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

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

输入Nexus对应的仓库地址。

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

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

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

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

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

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

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

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

\NewWorld\Simple-Weather>

mvninstall

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

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

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

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

dependency>

groupId>

log4j<

/groupId>

artifactId>

/artifactId>

version>

1.2.14<

/version>

/dependency>

dom4j<

1.6.1<

jaxen<

1.1.1<

velocity<

1.5<

mons<

commons-io<

1.3.2<

scope>

test<

/scope>

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

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

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

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

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

2.3源码

2.3.1源码功能介绍

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

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

执行:

然后导入到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

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

\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描述符(具体位置查看源码)

build>

plugins>

plugin>

maven-assembly-plugin<

configuration>

descriptorRefs>

descriptorRef>

jar-with-dependencies<

/descriptorRef>

/descriptorRefs>

/configuration>

/plugin>

/plugins>

/build>

之后执行

mvninstallassembly:

assembly

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

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

据说后面会有改进做法。

三、Maven——web简单应用

3.1生成项目

执行:

generate

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

DefinevalueforgroupId:

:

com.mycom.test

DefinevalueforartifactId:

simple-webapp

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

packaging>

war<

/packaging>

这个是打包方式

以及

<

finalName>

simple-webapp<

/finalName>

这个是打包名字。

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

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

<

org.mortbay.jetty<

jetty-maven-plugin<

6.1.18<

因为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<

type>

jar<

/type>

compile<

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

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

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

geronimo-jsp_2.0_spec<

1.1<

/d

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

当前位置:首页 > 职业教育 > 其它

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

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