首页 > 代码库 > MAVEN入门(一)
MAVEN入门(一)
一、Maven的基本概念
Maven是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。
1.1、项目构建
项目构建过程包括【清理项目】→【编译项目】→【测试项目】→【生成测试报告】→【打包项目】→【部署项目】这几个步骤,这六个步骤就是一个项目的完整构建过程。
理想的项目构建是高度自动化,跨平台,可重用的组件,标准化的,使用maven就可以帮我们完成上述所说的项目构建过程。
1.2、依赖管理
依赖指的是jar包之间的相互依赖,比如我们搭建一个Struts2的开发框架时,光光有struts2-core-2.3.16.3.jar这个jar包是不行的,struts2-core-2.3.16.3.jar还依赖其它的jar包,依赖管理指的就是使用Maven来管理项目中使用到的jar包,Maven管理的方式就是“自动下载项目所需要的jar包,统一管理jar包之间的依赖关系”。
1.3、maven的基础内容
Maven的约定:约定java源代码代码必须放在哪个目录下,编译好的java代码又必须放到哪个目录下,这些目录都有明确的约定。
Maven的动作:构建项目的每个过程maven都有相对应的shell命令。
Maven的配置文件:在项目中只需要定义一个pom.xml,然后把源码放到默认的目录,Maven帮我们处理其他事情。
Maven的管理:依赖管理,仓库管理。
二、Maven下载与配置环境变量
1.下载
下载地址:http://maven.apache.org/download.cgi
下载zip包即可,maven是一款绿色轻量级工具,解压并配置环境变量即可使用。(前提是机器上已经装好了java环境)
2.配置环境变量
vi打开个人目录下的 .zshrc 文件(用bash的应该打开 .bash_profile文件)。
编辑 .zshrc文件如下:
主要是红框的内容,其他的内容是我自己机器的环境变量,与maven无关。
MAVEN_HOME 是maven的zip的解压地址,然后将maven的bin目录配置到path下,这样就可以直接操作shell命令来进行maven操作了。
终端窗口输入source .zshrc (用bash的同学应该输入source .bash_profile)。
之后直接输入mvn -v,出现下面的信息就表示配置成功了。
三、maven的简单运用
1、目录约定:
|----src
| |----main
| | |----java ——存放项目的.java文件
| | |----resources ——存放项目资源文件,如spring, mybatis配置文件
| |----test
| |----java ——存放所有测试.java文件,如JUnit测试类
| |----resources ——存放项目资源文件,如spring, mybatis配置文件
|----target ——项目输出位置
|----pom.xml ----用于标识该项目是一个Maven项目
2、手动创建一个maven的java项目
按照maven的目录约定创建文件夹及其java文件:
在项目的根目录下创建pom.xml文件,并且做如下配置:
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <!--所有的Maven项目都必须配置这四个配置项--> <modelVersion>4.0.0</modelVersion> <!--groupId指的是项目名的项目组,默认就是包名--> <groupId>com.xxlxx.maven.hello</groupId> <!--artifactId指的是项目中的某一个模块,默认命名方式是"项目名-模块名"--> <artifactId>hello-maven</artifactId> <!--version指的是版本,这里使用的是Maven的快照版本--> <version>SNAPSHOT-0.0.1</version></project>
使用Maven编译HelloMaven.java,首先进入到项目根目录,然后使用命令”mvn compile”进行编译:
编译前的文件目录:
编译信息:
编译后的文件目录:
可以看到多了一个target目录,target目录下有classes文件夹,文件夹中装有src目录里java文件编译之后的class文件。
ps.此外还有一个命令是“mvn clean”,该命令是将项目根目录下的target文件删除。
四、Maven的settings.xml与repository
1、本地依赖仓库repository
该仓库默认位于用户根目录下的.m2文件夹中。第一次执行"mvn compile"和"mvn clean"这两个命令时,Maven会去中央仓库将需要的jar包下载到本地仓库中,也就是这个repository文件夹中。而第二次执行这两个命令时,由于所需的jar包已经在本地的仓库中存储,所以就可以直接拿来用了,这样就省去了去中央仓库下载jar包的时间。
2、maven配置文件settings.xml
该xml文件有两份,第一份是在MAVEN_HOME下的conf文件夹中,是maven的全局配置文件。第二份是在上文所述的.m文件夹下,是maven的用户配置文件。两个配置文件都叫做settings.xml。
利用该xml文件自定义repository的位置:
MAVEN入门(一)