导言

maven是个项目管理工具,也就是说我们可以使用maven来管理一个项目的从创建到完成打包的过程。同时maven是个独立的工具,maven不需要在IDE中就能创建项目,其中就包括java project和java web project。

maven既然是独立创建项目的,这时直接将maven项目导入eclipse中,(由于缺少某些文件)实际上是不被eclipse识别的,maven提供指令将maven项目转化成各种IDE(eclipse和ideal等等)的项目。

我们利用maven的指令创建maven项目后,项目中都会有一个pom.xml文件,可以通过配置该文件,让maven自动帮你下载jar包。当然pom.xml中还能配置一些其他的功能。

需求

本节需求是搭建maven环境,使用maven指令快速创建项目,将项目转化为eclipse项目,然后使用配置文件pom.xml下载jar包。

执行

1.下载maven:下载地址。选择Binary zip archive后面的下载链接,下载之后自行解压。

2.配置环境变量:右键“计算机”选择“属性“,之后点击“高级系统设置”,点击“环境变量”。
新建系统变量 MAVEN_HOME 变量值:G:\Java\apache-maven-3.1.1 (你自行解压的目录)该变量是有两个作用,其一是提供给其他的变量引用,如下面的path变量,其二是某些maven插件在运行时要根据该变量查找maven的目录地址。

新建系统变量 M2_HOME 变量值:G:\Java\apache-maven-3.1.1 这个变量不设置其实也能运行 ,但是某些插件会根据该变量而不是MAVEN_HOME来查找maven的目录地址。

编辑系统变量 Path 添加变量值: ;%MAVEN_HOME%\bin

3.检查是否安装成功:打开cmd,运行mvn -version,运行如下表明安装成功。快速使用maven之一:搭建环境创建项目

4.安装成功后,即可创建项目。
首先在cmd中切换目录,切换到你想要创建maven项目的那个文件夹下,如下图
快速使用maven之一:搭建环境创建项目

输入创建maven项目的指令:mvn archetype:generate -DgroupId=com.jsg.test -DartifactId=maventest -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
运行如下即表明成功
快速使用maven之一:搭建环境创建项目
这时,你所切换的目录下就有一个项目。该项目的名字叫maventest,包名叫com.jsg.test。
指令分析:mvn archetype:generate ,告诉maven生成项目。
-DgroupId=com.jsg.test ,设置生成的项目的包名为com.jsg.test。
-DartifactId=maventest ,设置生成的项目名为maventest 。
-DarchetypeArtifactId=maven-archetype-quickstart ,选择一个模板生成项目,maven-archetype-quickstart 这个模板生成的是java project,如果要生成java web project项目,使用maven-archetype-webapp指令。

5.项目创建成功之后,需要将项目转换成IDE能识别的项目,此处转换成eclipse项目。
首先观察之前创建的的项目的结构,点击项目文件夹,会发现src文件夹和pom.xml。
然后在cmd中,切换目录到具体项目中,即cd maventest,运行指令mvn eclipse:eclipse 运行结果BUILD SUCCESS,即表明项目转换成功。转换到ideal项目有另一个指令,可自行百度。
此时再观察该项目的文件,发现多出.project和.classpath这两个文件。使用过eclipse的会知道这是每个eclipse项目都必须的文件。

然后在eclipse中添加maven,window->preference->maven->installations,点击add,将选择maven所在的目录,然后应用并且确定。

最后使用import->maven->existing maven project将该项目导入到eclipse中,如下图
快速使用maven之一:搭建环境创建项目
6.如果只是创建项目,那我们在IDE中创建就好了,何必这么费力去用maven。下面介绍maven重要功能:使用配置文件pom.xml来让maven帮我们自动下载jar包。

在eclipse中打开pom.xml,找到dependencies标签。(tip:在项目中导入jar包,说明项目的运行依赖于该jar包,因此添加jar包可称为添加依赖,也就应了dependencies这个单词)。

打开http://mvnrepository.com/网址,搜索你需要的jar包,比如说hibernate,点击你要的jar包,然后点击你要的版本号,结果如下
快速使用maven之一:搭建环境创建项目
点击maven标签,复制文本框内容(内容是一个jar包的坐标,也就是根据三个标签唯一确定一个jar包),放入pom.xml中的dependencies标签内,然后保存,此时maven会自动开始根据pom.xml来更新或者下载jar包,下载的jar包在Maven Dependencies中可见。

思考

java语言特性是面向对象的,因此所有的东西在java中都能抽象成对象。maven的特性是面向项目的,因此所有的东西在maven看来都是项目,而maven是管理项目的工具,自然要负责项目的”生老病死“的每个阶段,但是某些时候我们需要在IDE的环境下编程(为了提高效率),因此maven还要能将自己创建出来的项目转换成各个IDE能识别的项目。

面向对象的特性让我们可以用class name {}这样的结构来表示所有的事物,maven则用三个标签来表示一个项目:groupId、artifactId、version。比如说刚才新建的项目maventest,pom.xml中就有如下代码
<groupId>com.jsg.test</groupId>
<artifactId>maventest</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>

相关文章: