当前位置 : 首页 » 文章分类 :  开发  »  Apache-Maven-基础

Apache-Maven-基础

[TOC]


概述

Apache Maven是一个软件项目管理的综合工具。基于项目对象模型(POM)的概念,提供管理项目的构建、文档、报告、依赖、发布等方法,Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。 Maven增加可重用性并负责建立相关的任务。
maven的好处在于可以将项目过程规范化、自动化、高效化以及强大的可扩展性,利用maven自身及其插件还可以获得代码检查报告、单元测试覆盖率、实现持续集成等等。
Maven的基本原理很简单,采用远程仓库和本地仓库以及一个核心的配置文件pom.xml,pom.xml中定义的jar文件从远程仓库下载到本地仓库,各个项目使用同一个本地仓库的jar,同一个版本的jar只需下载一次,而且避免每个应用都去拷贝jar。同时它采用了现在流行的插件体系架构,所以maven的核心非常的小,只有几兆大小的文件,在执行maven任务时,才会自动下载需要的插件。


Maven核心概念

构建生命周期、阶段和目标

Maven的构建过程被分解为构建生命周期(life cycles)阶段(phases)目标(goals)。一个构建周期由一系列的构建阶段组成,每一个构建阶段由一系列的目标组成。当你运行Maven的时候,你会传入一条命令。这条命令就是构建生命周期、阶段或目标的名字。如果执行一个生命周期,该生命周期内的所有构建阶段都会被执行。如果执行一个构建阶段,在预定义的构建阶段中,所有处于当前构建阶段之前的阶段也都会被执行。

依赖和仓库

Maven执行时,其中一个首要目标就是检查项目的依赖(dependencies)。依赖是你的项目用到的jar文件(java库)。如果在本地仓库中不存在该依赖,则Maven会从中央仓库下载并放到本地仓库。本地仓库只是你电脑硬盘上的一个目录。你可以根据需要制定本地仓库的位置。你也可以指定下载依赖的远程仓库的地址。

插件plugins

构建插件(plugins)可以向构建阶段中增加额外的构建目标。如果Maven标准的构建阶段和目标无法满足项目构建的需求,你可以在POM文件里增加插件。Maven有一些标准的插件供选用,如果需要你可以自己实现插件。

配置文件profiles

配置文件(profiles)用于以不同的方式构建项目。比如,你可能需要在本地环境构建,用于开发和测试,你也可能需要构建后用于开发环境。这两个构建过程是不同的。在POM文件中增加不同的构建配置,可以启用不同的构建过程。当运行Maven时,可以指定要使用的配置。


安装配置

下载及安装

http://maven.apache.org/
下载windows版 apache-maven-3.3.9-bin.zip
解压后将文件夹apache-maven-3.3.9拷贝到C:\Program Files即安装完成

配置环境变量

安装配置JDK:安装JDK1.8,新建系统环境变量JAVA_HOME,变量值为C:\Program Files\Java\jdk1.8.0_111
新建系统环境变量MAVEN_HOME,变量值为C:\Program Files\apache-maven-3.3.9
在系统变量Path中增加%MAVEN_HOME%\bin
配置完成后,可打开命令行,输入mvn -v,有版本信息说明配置成功

安装m2eclipse插件

Eclipse中已默认安装了Maven插件。
若未安装,点击eclipse菜单栏Help->Eclipse Marketplace搜索maven,搜索到插件Maven Integration for Eclipse 并点击安装即可。
其实不在Windows中安装maven,只用Eclipse中自带的maven插件也可以满足基本的需要,只是没有settings.xml配置文件。

配置m2eclipse插件

Eclipse-indigo和Eclipse-luna默认都已安装了Maven插件。
Eclipse中Maven配置
Window->Preferences->Maven->User Settings
Global Settings和User Settings中的配置文件都设置为:C:\Users\MaSi.m2\settings.xml
Local Repository项会自动从配置文件中读取,为:C:\Users\MaSi.m2\repository


参考


Maven命令

mvn [options] [<goal(s)>] [<phase(s)>]
-s,--settings <arg>,指定用户settings.xml文件
-D,--define <arg>,定义系统属性,例如-Dmaven.test.skip=true
mvn -v,--version,查看maven版本
mvn -X,--debug,打开debug输出

mvn compile,在项目根目录下执行mvn compile命令可编译项目,build success之后在项目根目录下生成target目录,该目录下存放项目编译后的文件,如.class文件

mvn test,会执行src/test/java 下的Junit测试代码,当然在执行测试之前会自动执行编译命令

mvn package,会将项目打成jar包,并放在target目录中。执行此命令之前会先执行编译和测试命令

mvn install,会将项目jar包安装到本地仓库中,以便其他项目使用。执行此命令之前会先执行编译,测试,打包命令

mvn clean,清理项目,会删除target文件夹,该命令可以结合其他命令运行

mvn deploy,部署构件到maven远程仓库,需要配置<distributionManagement>/<repository>和对应的认证信息。


上一篇 Java-线程

下一篇 Hexo博客(10)部署并备份到Coding

阅读
1,472
阅读预计6分钟
创建日期 2016-09-15
修改日期 2017-10-23
类别
百度推荐