2、Maven学习之Maven安装配制

上一节中介绍了maven的安装以及使用maven做了一个小例子,以便对maven的基本使用有一个全局感,这一节将对上一节安装的maven进行一些配制的改变。

例如:1、上一节中maven的本地仓库默认是在c盘中我的文档里的,如果电脑重新安装本地的安装库将不会存在,鉴于此,有必要把maven的安装库放在一个不会被删除掉的地方。

2、上一节使用手动创建的maven项目是比较繁琐的,可以使用maven提供的命令 mvn archetype:generate进行创建。

一、maven本地仓库的移动。

1、maven安装完成后,本地仓库默认在以下目录,如下图所示。

2、为了防止电脑重装后本地仓库内容的消失,应该把maven的本地仓库放到别的盘符里,这里我们放到D:\java\maven\repos文件夹里去。先从maven的安装目录里找到一个setting.xml的文件,然后把这个文件拷贝到D:\java\maven这个文件里去。如下图所示:

3、将以上文件拷贝到D:\java\maven文件夹里。然后打开settings.xml文件,在里面加入<localRepository>D:\java\maven\reops</localRepository>,意思是把本地仓库放到D:\java\maven\reops里去。如下图所示:

 

4、接着把maven的安装目录D:\apache-maven-3.0.5\conf里的settings.xml文件中也加上<localRepository>D:\java\maven\reops</localRepository>,以上设置完成后,已经成功的把maven的本地工厂从C:\Users\WHP\.m2\repository移动到D:\java\maven\reops里去了,接着就可以对上一节中的项目maven-ch01进行编译,使用命令:maven compile,这时就会看到命令行窗口中又开始下载compile所要依赖的包,以及junit的jar包。但是我们没有必要重新下载,完全可以把原来仓库C:\Users\WHP\.m2\repository中的jar包复制过来,然后重新对maven-ch01文件重新进行编译,如下图所示:

 如果出现“BUILD SUCCESS”,代表编译已经正常通过了。也就是我们移动本地仓库已经顺利完成。

二、maven的中央工厂的设置,maven本地仓库中没有的包,会去maven的中央工厂去下载,那么中央工厂在哪里设置呢,以下进行讲解。

1、在maven的安装目录里,有一个lib目录,里面有一个jar包叫maven-model-builder-3.0.5.jar,然后用rar软件打开这个jar包,里面有一个文件叫pom-4.0.0.xml文件,如下图所示:

 

2、查看pom-4.0.0.xml文件里的内容,会看到以下内容,如下图所示:

其指明了中央工厂所使用的网址。

三、maven的整个架构是一致的,一个pom的文件,然后是src/main/java,然后是src/test/java,如果每次都手动的创建这些内容很麻烦,maven中的命令archetype(骨架),来做创建通用的架构的事,这样省了好多麻烦事,

1、使用命令:mvn archetype:generate,如下图所示:

2、回车后,会看到 maven 下载了很多东西到机器上来,最终会显示一个列表,并提示输入

Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 163:

 
这是要用户选择创建什么类型的项目,maven 会根据选择将项目的基本框架搭建好。由于是为了测试 maven 这里可以直接选择默认的项目(直接按回车),接下来会提示输入

Choose version:
1: 1.0-alpha-1
2: 1.0-alpha-2
3: 1.0-alpha-3
4: 1.0-alpha-4
5: 1.0
6: 1.1
Choose a number: 6:

 这是让用户选择骨架的版本(因为使用不同的版本,生成的maven项目骨架可能有些区别),同样选择默认的版本(回车),默认就是最新的版本,接下来提示

Define value for property 'groupId': :

这个的意思是让输入所在的组织groupid,这里使用cn.szzx.maven。用户根据自己的需要填写。

接着会提示让输入artifactid、version,这里分别输入

Define value for property 'groupId': : cn.szzx.maven
Define value for property 'artifactId': : maven-ch03
Define value for property 'version':  1.0-SNAPSHOT: : 0.0.1-SNAPSHOT

接着会提示

Define value for property 'package':  cn.szzx.maven: :

 意思是将要创建一个cn.szzx.maven的包,询问是否使用这个包。回车后,并输入Y,即完成了maven项目的搭建。打开创建项目的位置,就会发现多一个maven-ch03的文件夹,如下图所示:


 这时就可以看到在maven-ch03里有了maven架构所需要的文件,这些文件已经全部建好了,打开其里面的pom.xml文件,里面引入的是junit的3.8.1版本,这里改成junit的4.10版本。

3、命令 mvn archetype:generate命令这样使用是可以的,但是要选择一些信息,例如:groupId,artifactId,version等信息,这样是比较麻烦的,我们可以把这些信息直接写在命令 mvn archetype:generate的后面,我们把刚才创建的maven-ch03删除(直接删除文件夹maven-ch03即可),然后重新使用命令mvn archetype:generate创建maven-ch03项目。

使用命令:

mvn archetype:generate -DgroupId=cn.szzx.maven -DartifactId=maven-ch03 -Dversion=0.0.1-SNAPSHOT

这样就可以不用在后面选择groupId,artifactId,version信息,并且创建成功。如下图所示:


 

 一般情况下maven创建项目都是在eclipse中使用,下一节讲eclipse与maven的集成。

猜你喜欢

转载自huihai.iteye.com/blog/1992559