您的位置:首页 > 其它

maven基础教程(一)

2016-04-29 16:24 375 查看
点击阅读《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插件有在线安装和离线插件包安装方式,这里我推荐在线安装:

通过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基础教程(二)》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  项目管理