maven基础教程(一)

来源:互联网 发布:苹果游戏制作软件 编辑:程序博客网 时间:2024/05/19 04:51

点击阅读《maven基础教程(二)》

一、含义

Maven是一个采用纯Java编写的开 源项目管理工具。Maven采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中,通过该文件,Maven可以管理项目的整个声明周期,包括编译,构建,测试,发布,报告等等。我们通常使用 maven 对 jar 包进行管理,通过使用maven,我们可以将需要的 jar 包上传到私服,其他项目成员可以下载到本地使用。

二、环境搭建:

请保证jdk已经安装;
1. 从http://maven.apache.org/download.cgi下载mavenzip包,解压即可;
2. 进行mavne环境变量配置,跟jdk环境变量配置类似,就不详述了;
3. 检测mavne是否安装成功:在cmd命令中用 mvn -v 查看是否有mavne版本信息;
注意,有可能安装完了之后怎么”mvn -v”都不能报出maven版本,这时尝试将MAVNE_HOME建在系统变量里,然后重启电脑就可以了。
4、maven默认的本地仓库地址为:C:\Users\Administrator.m2\repository,为方便管理我们可以在文件 apache-maven-x.x.x\conf 下的 settings.xml 修改 localRepository 的对应值;

三、maven常用构建命令:

maven项目结构为:
这里写图片描述

maven一些基本命令:
- mvn -v (或者mvn -version) : 检查所安装的maven版本;
- mvn compile : 进入项目根目录下, 编译源代码,生成相关class文件(生成target文件夹);
- mvn test : 运行测试代码,默认情况是把工程所有的testcase都执行一遍;
- mvn package : 打包项目,生成项目jar包(web项目生成war包)目录(在target文件夹下);
- mvn clean:清理项目,删除target目录;
- mvn install:安装jar包到本地仓库;
- mvn archetype : 创建Maven java项目;
- mvn deploy : 将包拷贝到远程的repository,以共享;

四、archetype插件

如果像上面那样逐步用命令构建项目,将会是一个很繁琐的过程,所以我们可以用archetype插件自动创建符合maven规定的目录骨架 。

使用方法:
1、进入项目根目录下,比如cd E:\workspace\testMaven;然后运行命令: mvn archetype:generate 回车。第一次运行会下载插件依赖,可能时间长;
2、根据所提供的选项,输入archetype 版本;
3、然后输入groupId;
4、输入artifactId;
5、输入version版本号 。1.0.0snapshot(第一个0表示大版本号,第二个0表示分支版本号,第三个0表示小版本号,snapshot表示快照版本,还有内测版本和公测版本、稳定版本、发布版本等);
6、是否打包(package),输入 y(yes);

或者直接一次运行:mvn archetype:generate -DgroupId=组织名(公司网址犯些+项目名) -Dartifact=(当前组织中唯一标识:项目名-模块名) -Dversion=版本号 -Dpackage=项目所在的包

五、maven中的坐标和仓库

坐标:构件通过坐标作为其唯一的标识,包groupId,artifactId,version,比如家庭地址。groupId:项目或者组织的唯一标志,并且配置时生成路径也是由此生成,如org.myproject.mojo生成的相对路径为:/org/myproject/mojo;artifactId:项目的通用名称;

仓库:用来管理本地依赖。分为本地仓库和中央仓库(也叫远程仓库,包含绝大部分框架jar包),先找本地再远程,没有就报错;

镜像仓库:访问国外的仓库可能无法访问,此时可以访问国内的镜像仓库,更快更稳定,一旦使用镜像仓库,原仓库将不再访问。如何修改访问仓库位置:mavne安装包-conf-setting.xml–146行(mirror元素,其中id表示该镜像仓库的id(自己可以根据网址填简写方便辨认), mirrorOf表示为哪个仓库配置镜像(为别的仓库的id值,也可以使用通配符*,这里值为central))

更改仓库位置:下载后默认放置在c盘,重装系统容易没了,此时更改:setting.xml –> 标签 localRepository;

如何测试是否修改成功:进入到一个项目根目录,编译项目(mvn clean compile),会下载插件及第三方依赖包到修改的文件中;

六、eclipse安装maven插件

检查是否以及安装maven:window–>properties–>maven,如果没有找到如下信息证明就没有安装maven

eclipse安装maven完成

eclipse安装maven插件有在线安装和离线插件包安装方式,这里我推荐在线安装:
通过Help–>Install New Software的方式,输入HTTP地址来安装,简单易操作,但是也优缺点,就是下载速度慢,或者有的时候干脆搜索不到要安装的插件。使用第一种方式来安装,输入 http 地址:http://m2eclipse.sonatype.org/sites/m2e,把选项勾上,然后等待它 下载安装,完成之后重启 eclipse 即可。

这里写图片描述

下面进行eclipse对maven进行配置:
(eclipse–>windows–>perferences–>maven)

1、Installations,将本地 maven 安装包加入到 eclipse 中,如图
这里写图片描述
2、进行 user settings 设置。将本地maven安装包中的settings.xml文件引入进来(分系统设置和用户设置),如图
这里写图片描述
如此,eclipse进行maven插件安装和配置就完成了。

七、eclipse构建 maven 的 web 项目
1、File –> new –> other –> maven –> maven project –>(选择项目路径 Usedefault Workspace location默认工作空间)next
2、选择项目类型 在Artifact Id中选择maven-archetype-webapp,如下图:
这里写图片描述
这里介绍一下两个比较常用的类型:maven-archetype-webapp和maven-archetype-quickstart
maven-archetype-webapp:install生成war包类型,适合web项目;
maven-archetype-quickstart:install生成jar类型,适合一般java程序,并且让子模块引用
3、填写相关信息,如下图:
这里写图片描述
GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构;
ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
4、点击finsh之后,eclipse构建完 mavne web 项目。项目目录如下图:
这里写图片描述
其中如果jsp页面显示HttpServlet类不存在,解决方法在pom.xml中添加如下依赖:

<dependency>            <groupId>javax.servlet</groupId>            <artifactId>servlet-api</artifactId>            <version>2.5</version>            <scope>provided</scope></dependency>

如果还不行参考:http://blog.csdn.net/testcs_dn/article/details/36455669
同时,maven项目生成之后,最后进入buildpaht-library里将jre改成jdk
5、项目结构为:
这里写图片描述
如果发现java文件夹不对,右键项目build path–>configure build path –>order and export–>勾选mavne dependencies即可。
5、右键项目–>Run as –>Maven builds –>goals(compile)–>Run
如果项目报:-Dmaven.multiModuleProjectDirectory system propery is not set.
解决方法:在eclispe中选择所安装的jdk编辑(Edit),其中Default VM Arguments添加新参数:
-Dmaven.multiModuleProjectDirectory=$M2_HOME
至此一个完整的maven web项目构建完成。
具体创建过程可参考:http://www.cnblogs.com/leiOOlei/p/3361633.html
八、maven在eclipse中的使用小知识

1、我们在svn中拷贝的项目也许只是普通的web项目,此时我们要将该项目转换成maven web项目(maven项目在项目图标上会一个蓝色字母“M”)。转换方法:右键项目–>configure–>convert to maven project;
2、maven项目是模块化存在的,所以有时候A项目的改变可能会对B项目有影响,我们看那个类(或方法)明明在A项目中存在,但是B项目就是报错显示不存在。此时右键项目 –> maven –> update project。

点击阅读《maven基础教程(二)》

1 0