[转载]Maven初级入门笔记

最近在研究Maven,写了一个简单的学习笔记。

本文所有资料百度云地址:http://pan.baidu.com/s/1jGn27PG

首先需要在本机上搭建一个nexus私服.

第一步,将Maven总结资料\工具目录下的nexus-2.1.2.war直接放在D:\Tomcat 7.0\webapps目录下。

第二步,启动tomcat后,在webapps目录下生成一个nexus-2.1.2目录。

第三步,停掉tomcat,修改nexus-2.1.2目录名称为nexus。再次启动tomcat,访问http://127.0.0.1:9999/nexus 正常,说明nexus私服安装成功,本机电脑IP为10.1.16.158,tomcat端口为9999

以下目录:

前言

1.Maven本地安装

2.在eclipse中配置maven

3.在eclipse中建立Web项目

4.在eclipse中使用Maven管理Web

前言

本人电脑使用的操作系统为XP,以下文档是根据本人的电脑环境进行讲解和配置的。

1.Maven本地安装

1.检查jdk安装的情况(1.6以上版本):

Echo %JAVA_HOME%

java -version

在命令行窗口输入以上命令后,如果出现下图界面中的反馈信息,说明本机JDK未安装、环境变量未设置或配置的有问题。需要安装JDK以及配置环境变量,这里不再介绍如何安装,默认本机已经安装JDK及配置好到了Path环境变量中。

2.设置系统环境变量,JAVA_HOME

可以看到本人的JDK目录位置为D:\jdk

3.对工具目录下的apache-maven-3.0.5-bin.zip进行解压缩,例如解压到如下目录(解压目录不要有中文字,不要有空格):

D:\apache-maven-3.0.5,解压后的目录结构如下图。

4.设置系统环境变量,MAVEN_HOME

5.设置环境变量Path,将%MAVEN_HOME%\bin加入Path中,一定要注意要用分号;与其他值隔开

6.验证安装是否成功,打开cmd窗口,敲入mvn -v 查看

出现如上页面说明MVN已经安装成功。

2.在eclipse中配置Maven

1.将D:\apache-maven-3.0.5\conf\settings.xml文件复制到目录C:\Documents and Settings\user\.m2。如果登陆电脑用户不同,需要将user更改为当前电脑登陆用户名称。如果没有.m2目录,在CMD窗口中执行mvn clean命令后会自动生成此目录,如下图

报错信息是因为在当前目录下没有pom.xml文件,可以暂时不用管。

2.解压工具目录下的eclipse的J2EE版本加已安装SVN插件.rar到D盘,将D盘的J2EE版本加已安装SVN插件目录下的eclipse目录剪切到D盘根目录后,打开eclipse目录后如下图。

3.点击eclipse.exe打开eclipse,在eclipse中配置Maven环境。eclipse的默认工作空间为D:\eclipse\workspace。在eclipse中点击window下的Preferences后,在弹出的操作窗口中点击Maven下的Installations后如下图。

在选项Installations中,点击add,选取本机maven安装根目录,如下图。

点击确定后,如下图。

到此已经添加本地的Maven到eclipse中,因为eclipse和myeclipse自带的Maven很不稳定,在开发工具中需要配置使用本机安装的Maven.

下面再配置User Settings选项,点击User Settings后如下图.

配置如上图,如果对settings.xml进行了修改,需要点击Update Settings。在上图中可以看到默认的Maven本地仓库位置为C:\Documents and Settings\user\.m2\repository

到此,在eclipse中的Maven环境就配置好了,下面就可以在eclipse中建立项目,使用Maven了。

3.在eclipse中建立Web项目

第一步,在eclipse中点击File-New-Project,选择Maven Project,如下图。

第二步,点击Next,如下图。

第三步,直接点击Next后,如下图。

第四步,在上图中需要选择maven-archetype-webapp,点击Next后,如下图。

第五步,在上图中填入数据,其中projectname可以修改为项目的简写名称,MavenWeb为项目名称,Version选择默认就可以(默认为快照版本),点击Finish后,一个Mave Web项目就建立好了,切换到JAVA视图,建立后的项目目录结构如下图。

由上图可以看到在eclipse自己创建的Maven Web项目中,需要手动建立一些目录才能够完全满足Maven约定。这里不再手动创建目录,我们手动导入一个已经按照Maven约定建立好额外目录的Maven项目。

4.在eclipse中使用Maven管理WEB项目

第一步,将Maven总结资料\源代码目录下的nexusMaven复制到D:\eclipse\workspace目录下。在eclipse中点击File-Import后如下图。

第二步,选择Maven下的Existing Maven Projects,点击Next后,如下图。

第三步,点击Browse后,选取nexusMaven目录,如下图。

第四步,点击确定后,如下图。

第五步,点击Next后,如下图。

第六步,点击Finish,就完成了导入项目nexusMaven到eclipse中。如下图。

可以看到nexusMaven比eclipse自动创建的Maven Web项目多了src/test/java和src/main/java两个目录。

l  src/main/java存放项目源代码

l  src/test/java存放测试源代码

l  src/main/resources存放项目配置文件

l  Maven Dependencies下的jar为项目依赖的jar

l  webapp相对于myeclipse中web项目的WebRoot目录

l  target为项目编译、测试、文档输出目录。

第七步,修改nexusMaven项目下的pom.xml,将里面的127.0.0.1:9999全部修改为Maven私服所在的IP和端口号,目前为10.1.16.158:9999

第八步,使用Maven总结资料\配置文件目录下的settings.xml文件覆盖掉C:\Documents and Settings\user\.m2下的settings.xml文件,并且将文件里面的所有127.0.0.1:9999修改为Maven私服所在的IP和端口号,目前为10.1.16.158:9999。在此settings.xml文件中将本地仓库配置在了D:\apache-maven-3.0.5\repository目录下。

第九步,需要在eclipse中的下图中,点击Update Settings,更新settings.xml文件。

第十步,下面我们将执行Maven操作。

首先执行项目清理操作,此操作会删除target构建目录,如下图。

选中nexusMaven项目中的pom.xml,单击鼠标右键,选择Run as下的Maven clean。执行后,控制台出现[INFO] BUILD SUCCESS信息,说明执行清理成功。

[WARNING]

[WARNING] Some problems were encountered while building the effective settings

[WARNING] Unrecognised tag: ‘mirror‘ (position: START_TAG seen ...e preferred \n   | server for that repository.\n   |-->\n\n   <mirror>... @163:12)  @ C:\Documents and Settings\user\.m2\settings.xml, line 163, column 12

[WARNING]

[INFO] Scanning for projects...

[INFO]

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

[INFO] Building nexusMaven Maven Webapp 0.0.1-release

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

[INFO]

[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ nexusMaven ---

[INFO] Deleting D:\eclipse\workspace\nexusMaven\target

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

[INFO] BUILD SUCCESS

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

[INFO] Total time: 0.344s

[INFO] Finished at: Wed Apr 16 13:08:56 CST 2014

[INFO] Final Memory: 2M/15M

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

下面执行部署命令,此命令可以将项目打成WAR包,并且将包安装到本地仓库和私服,提供下载和依赖服务。选中nexusMaven项目中的pom.xml,单击鼠标右键,选择Run as下的Maven build..后,如下图。

在Goals中输入deploy,点击最下边的Run,执行部署命令。执行后,控制台出现[INFO] BUILD SUCCESS信息,说明执行部署成功。

[WARNING]

[WARNING] Some problems were encountered while building the effective settings

[WARNING] Unrecognised tag: ‘mirror‘ (position: START_TAG seen ...e preferred \n   | server for that repository.\n   |-->\n\n   <mirror>... @163:12)  @ C:\Documents and Settings\user\.m2\settings.xml, line 163, column 12

[WARNING]

[INFO] Scanning for projects...

[INFO]

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

[INFO] Building nexusMaven Maven Webapp 0.0.1-release

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

[INFO]

[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ nexusMaven ---

[debug] execute contextualize

[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!

[INFO] Copying 0 resource

[INFO]

[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ nexusMaven ---

[WARNING] File encoding has not been set, using platform encoding GBK, i.e. build is platform dependent!

[INFO] Compiling 1 source file to D:\eclipse\workspace\nexusMaven\target\classes

[INFO]

[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ nexusMaven ---

[debug] execute contextualize

[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!

[INFO] skip non existing resourceDirectory D:\eclipse\workspace\nexusMaven\src\test\resources

[INFO]

[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ nexusMaven ---

[WARNING] File encoding has not been set, using platform encoding GBK, i.e. build is platform dependent!

[INFO] Compiling 1 source file to D:\eclipse\workspace\nexusMaven\target\test-classes

[INFO]

[INFO] --- maven-surefire-plugin:2.10:test (default-test) @ nexusMaven ---

[INFO] Surefire report directory: D:\eclipse\workspace\nexusMaven\target\surefire-reports

-------------------------------------------------------

T E S T S

-------------------------------------------------------

Running com.song.wbgy.user.test.UserTest

User [name=lisong, password=123456]

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.047 sec

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO]

[INFO] --- maven-war-plugin:2.1.1:war (default-war) @ nexusMaven ---

[INFO] Packaging webapp

[INFO] Assembling webapp [nexusMaven] in [D:\eclipse\workspace\nexusMaven\target\nexusMaven-0.0.1-release]

[INFO] Processing war project

[INFO] Copying webapp resources [D:\eclipse\workspace\nexusMaven\src\main\webapp]

[INFO] Webapp assembled in [47 msecs]

[INFO] Building war: D:\eclipse\workspace\nexusMaven\target\nexusMaven-0.0.1-release.war

[WARNING] Warning: selected war files include a WEB-INF/web.xml which will be ignored

(webxml attribute is missing from war task, or ignoreWebxml attribute is specified as ‘true‘)

[INFO]

[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ nexusMaven ---

[INFO] Installing D:\eclipse\workspace\nexusMaven\target\nexusMaven-0.0.1-release.war to D:\apache-maven-3.0.5\repository\com\song\wbgy\nexusMaven\0.0.1-release\nexusMaven-0.0.1-release.war

[INFO] Installing D:\eclipse\workspace\nexusMaven\pom.xml to D:\apache-maven-3.0.5\repository\com\song\wbgy\nexusMaven\0.0.1-release\nexusMaven-0.0.1-release.pom

[INFO]

[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ nexusMaven ---

Uploading: http://127.0.0.1:9999/nexus/content/repositories/releases/com/song/wbgy/nexusMaven/0.0.1-release/nexusMaven-0.0.1-release.war

Uploaded: http://127.0.0.1:9999/nexus/content/repositories/releases/com/song/wbgy/nexusMaven/0.0.1-release/nexusMaven-0.0.1-release.war (4 KB at 9.8 KB/sec)

Uploading: http://127.0.0.1:9999/nexus/content/repositories/releases/com/song/wbgy/nexusMaven/0.0.1-release/nexusMaven-0.0.1-release.pom

Uploaded: http://127.0.0.1:9999/nexus/content/repositories/releases/com/song/wbgy/nexusMaven/0.0.1-release/nexusMaven-0.0.1-release.pom (2 KB at 8.2 KB/sec)

Downloading: http://127.0.0.1:9999/nexus/content/repositories/releases/com/song/wbgy/nexusMaven/maven-metadata.xml

Uploading: http://127.0.0.1:9999/nexus/content/repositories/releases/com/song/wbgy/nexusMaven/maven-metadata.xml

Uploaded: http://127.0.0.1:9999/nexus/content/repositories/releases/com/song/wbgy/nexusMaven/maven-metadata.xml (319 B at 3.3 KB/sec)

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

[INFO] BUILD SUCCESS

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

[INFO] Total time: 3.016s

[INFO] Finished at: Wed Apr 16 13:13:08 CST 2014

[INFO] Final Memory: 10M/25M

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

在输出信息中详细的记录的Maven deploy命令的执行过程及执行结果。

注:

1、            如何在eclipse中建立Web项目,请查看地址http://hi.baidu.com/sdhzlzhk/item/3c0b26c42786517189ad9e80

2、            Maven Web Project同样可以点击Run as下的Run on Server启动服务器进行测试,之前需要建立一个Server项目,具体创建方法请查看http://hi.baidu.com/sdhzlzhk/item/3c0b26c42786517189ad9e80

3、            Maven项目的jar包添加方式和以往有很大不同,Maver项目使用了自己的依赖管理,通过pom.xml进行配置实现对jar包的依赖管理,具体请查看资料目录下的文件。Maven使用仓库和私服共同管理jar包,一个jar包只需要一个人添加一次,其他人就可以通过配置pom.xml进行使用,无需重复下载和添加。

4、            Maven可以将项目的编译、测试、打包、生成文档通过maven deploy一起执行。Maven生成的文档一般不使用。

5、            如果要发布项目正式版本需要在pom.xml文件中的version属性值中含有release关键字,这样项目将发布到私服的正式仓库,否则将当做非正式版本发布到私服的快照仓库。

6、            在使用Maven发布版本时,需要一定的规范和制度,可以参考下Maven的版本管理。

文章是使用到的安装包及文档的百度云分享地址:http://pan.baidu.com/s/1q5wBG

时间: 2024-10-12 02:05:21

[转载]Maven初级入门笔记的相关文章

maven 简易入门笔记

教程:http://www.yiibai.com/maven/  http://maven.apache.org/ 第一步:下载安装maven. 配置环境变量. 第二步: 设置mirror 中央存储仓库的地址 <mirrors> <!-- mirror | Specifies a repository mirror site to use instead of a given repository. The repository that | this mirror serves has

转载maven安装,配置,入门

转载:http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.html 本书代码下载 大家可以从我的网站下载本书的代码:http://www.juvenxu.com/mvn-in-action/,也可以通过我的网站与我取得联系,欢迎大家与我交流任何关于本书的问题和关于Maven的问题. 咖啡与工具 本书相当一部分的内容是在苏州十全街边的Solo咖啡馆完成的,老板Yin亲手烘焙咖啡豆.并能做出据说是苏州最好的咖啡,这小桥流水畔的温馨小

《Maven实战》笔记-1-Maven使用入门

<Maven实战>徐晓斌 2011 机械工业出版社 一.介绍 1.名词 artifact:插件 极限编程XP 2.构建脚本: maven--pom.xml(Project Object Model) ant--build.xml 其基本结构是目标(target).依赖(depends),以及实现目标的任务. 3.maven vs ant Ant是过程式的,开发者显示指定每一个目标,以及完成该目标所需要执行的任务. Maven是声明式的,项目构建过程和过程各个阶段所需的工作都由插件实现. 4.相

shell script 入门 笔记

shell script 入门 在 shell script 的撰写中还需要用到底下的注意事项: 1.  指令的执行是从上而下.从左而右的分析与执行: 2.  指令的执行就如同第五章内提到的: 指令.选项不参数间的多个空白都会被忽略掉: 3.  空白行也将被忽略掉,而且 [tab] 按键所推开的空白同样规为空格键: 4.  如果读取到一个 Enter 符号 (CR) ,就尝试开始执行该行 (或该串) 命令: 5.  至亍如果一行的内容太多,则可以使用『 \[Enter] 』来延伸至下一行: 6.

spring 入门笔记(一)

最近学习spring 通过笔记形式加深自己对spring的理解,也希望能跟各位入门者分享和讨论. 一.下载spring 下载spring也费了不少功夫,目前还没从spring官网找到下载入口,我从下面的网站下载spring-framework-4.0.5.RELEASE. http://maven.springframework.org/release/org/springframework/spring/ 直接解压,如下: 二.导入额外的包 因为springframework里边包含的包还不全

APPium入门笔记

环境配置 1.首先安装Appium所需要的插件 l Install node.js (includesnpm, the node.js package manager). http://nodejs.org/ l java运行环境 http://www.oracle.com/technetwork/java/javase/downloads/index.html?ssSourceSiteId=otnjp 此为必须环境,请优先安装,IOS和WIN7一样需要(使用稳定的最新版即可) 2.请明确自己的

SpringBoot入门笔记(一)

本文是一篇SprintBoot学习入门笔记 1.打开Eclipse,版本为Oxygen 4.7.0 2.新建项目NewProject->MavenProject->Next->Next GroupId填写com.learn,Artifactid 填写spring-boot-hello,完成 3.配置pom.xml 双击pom.xml,打开pom.xml选项卡,因为暂时不需要Test,删除Test有关的,另外删除项目Test目录.修改后的pom.xml内容如下 <project xm

MySQL入门笔记(一)

MySQL入门笔记(二) 一.数据类型 1. 整型 2. 浮点型 3. 字符型 4. 日期时间型 二.数据库操作 1. 创建库 CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name; ??上述代码中DATABASE和SCHEMA完全相同,可任选一个(花括号内的参数为任选其一): ??添加IF NOT EXISTS的作用则是,若新建数据库的名称与已有数据库名称冲突,则产

Django入门笔记【一】

入门笔记翻译整理自:https://docs.djangoproject.com/en/1.8/ *该笔记将使用一个关于投票网络应用(poll application)的例子来阐述Django的用法. 1. 查看Django是否安装及版本 1 $ python -c "import django; print(django.get_version())" 2. 创建一个项目(project) 通过cd方式进入自创目录,然后运行: 1 $ django-admin startprojec