全国咨询/投诉热线:400-618-9090

首页技术文章

Maven

更新时间:2018年07月27日 09时29分11秒 来源:黑马程序员

一、Maven简介(一)什么是Maven


      Maven是apache下的开源项目,项目管理工具,管理java项目。

1、项目对象模型(Project Object Model)

      POM对象模型,每个maven工程中都有一个pom.xml文件,定义工程所依赖的jar包、本工程的坐标、打包运行方式。。

2、依赖管理系统(基础核心 )

       maven通过坐标对项目工程所依赖的jar包统一规范管理。

3、maven定义一套项目生命周期

清理、初始化、编译、测试、报告、打包、部署、站点生成

4、一组标准集合

       强调:maven工程有自己标准的工程目录结构、定义坐标有标准。

5、maven 管理项目生命周期过程都是基于插件完成的

(二)Maven仓库

1、中央仓库

       就是远程仓库,仓库中jar由专业团队(maven团队)统一维护。

       中央仓库的地址:http://repo1.maven.org/maven2/

2、本地仓库

相当于缓存,工程第一次会从远程仓库(互联网)去下载jar 包,将jar包存在本地仓库(在程序员的电脑上)。第二次不需要从远程仓库去下载。先从本地仓库找,如果找不到才会去远程仓库找。

3、私服

       在公司内部架设一台私服,其它公司架设一台仓库,对外公开。

(三)本地仓库配置1. 拷贝本地仓库
将资料中的repository_ssh.zip解压到D盘
2. 配置本地仓库
打开maven的安装目录中conf/ settings.xml文件,在这里配置本地仓库:

  <localRepository>D:\repository_ssh</localRepository>
      

这里的意思是配置本地仓库的目录为D:\repository_ssh

工程目录结构说明:

project

       /src/main/java      主体程序 java源文件(不要放配置文件)

       /src/main/resources 主体程序所需要的配置文件(不要放java文件)

       /src/test/java       单元测试程序 java源文件

       /src/test/resources   单元测试程序所用的配置文件

       /target           编译输出目录

pom.xml          Maven进行工作的主要配置文件。   
(四)项目生命周期(了解)Maven有三套相互独立的生命周期,分别是:clean、default、site。clean主要是清理项目、default是Maven最核心的的构建项目、site是生成项目站点。每一个大的生命周期又分为很多个阶段。后面的阶段依赖于前面的阶段,这点有点像Ant的构建依赖。生命周期本身相互独立,用户可以仅仅调用生命周期的某一个阶段,也就是说用户调用了default周期的任何阶段,并不会触发clean周期以及site周期的任何事情。

(1)clean周期:

pre-clean:准备清理

clean:真正的清理工作

post-clean:执行清理后的一些后续工作

(2)default周期:

validate:验证

initialize:初始化配置

generate-sources:生成源代码编译目录

process-sources:处理项目主资源文件,复制资源文件到outputclasspath

generate-resources:生成资源目录

process-resources:处理资源文件

complie:编译源代码

process-classes:处理编译后文件

generate-test-sources:生成测试目录

process-test-sources:处理项目测试资源文件,复制测试资源文件到outputclasspath

generate-test-resources:生成测试资源文件

process-test-resources:处理测试资源文件

test-compile:编译测试代码

process-test-classes:处理测试代码

test:单元测试运行测试代码

prepare-package:打包前的准备

package:将编译好的代码打包成为jar或者war或者ear等等

pre-integration-test:准备整体测试

integration-test:整体测试

post-integration-test:为整体测试收尾

verify:验证

install:安装到本地Maven库

deploy:将最终包部署到远程Maven仓库

(3)site周期:

pre-site:准备生成站点

site:生成站点及文档

post-site:站点收尾

site-deploy:将生成的站点发布到服务器上
(五)常见命令

常用命令如下:

compile:编译

clean:清理,将target下的class文件清理

test:执行单元测试类,执行src/test/java下的类

package :将java工程打成jar、war。

install:安装命令,将将程的jar发布到本地仓库

发布到仓库,目录按照本工程定义的坐标生成目录

扩展:

其实我们所执行的这些命令是对maven原生命令的封装,我们可以在命令提示符下直接通过这些命令来对代码进行编译打包等操作,格式如下:

mvn 命令名称        运行不调试

mvnDebug 命令名称   调试运行

我们要在命令提示符下执行maven命令必须配置下面两个环境变量

MAVEN_HOME    D:\apache-maven-3.3.9

PATH             %MAVEN_HOME%\bin

测试Maven环境 ,在控制台输入mvn -v ,有下列信息输出表示Maven配置正常。


作者:黑马程序员javaEE培训学院
首发:http://java.itheima.com/