1.1. 什么是maven
Maven是基于项目对象模型(POM Project Object Model),可以通过一小段描述信息(配置文件)来管理项目的构建,报告和文档的软件项目管理工具。(依赖管理工具和项目信息管理工具)
1.2 Maven主要功能
1. 方便的项目发布(生命周期)--自已从没有到有的过程。
2. 在多个项目中共享JAR (项目之间(jar)依赖关系) --自已对别人关系
3. Maven是一个项目管理工具,它包含:
一个项目对象模型 (Project ObjectModel) 一个项目它由一个pom.xml来构建出来(至少有一个pom.xml).
一组标准集合 在配置文件中,进行一系列的配置才能使用。
一个项目生命周期(ProjectLifecycle) :
清理、编译、测试、报告、打包、部署
一个依赖管理系统(DependencyManagement System)
4. 使用前提:
当通过配置文件确定依赖关系之后,maven将自动从指定的位置(互联网)下载需要项目(jar包)。第一次使用maven,需要联网。
5. 思想:
约定优于配置的思想
2.1 Maven安装
2.1.1. 下载网址http://maven.apache.org/download.cgi
2.1.2 配置maven_home
1. 在系统环境中创建 MAVEN_HOME 填写maven在电脑安装目录的绝对路径
2. 在系统环境path中加入%MAVEN_HOME%\bin;(同配置JDK方法,注意英文输入法)
2.1.3 测试是否安装成功
cmd命令输入 mvn -v (如显示maven home等信息则表示安装成功)
2.1.4 settings.xml 配置介绍 (maven的配置文件)
<localRepository> 配置本地仓库的目录(会优先搜索本地仓库)
<interacticeMode> 是否需要和用户交互获得输入. 如果Maven需要和用户交互获得输入, 则设置未true , 反之false (默认为true)
<offine> 是否需要在离线模式下运行
<pluginGroups> 插件组. 默认情况下改列表包含 org.apache.maven.plugis
<proxies>通过代理访问外部库
<servers>配置服务端的设置, 例如: 安全认证
<mirrors> 镜像库, 确定使用的仓库
2.1.5 maven名词解释
Project : 任何你想bulid的事务, Maven都认为它是工程, 这些工程被定义未工程对象模型. 一个工作可以依赖其他的工程; 一个工程也可以由多个子工程构成.
Pom : 是Maven的核心文件,它是指示Maven如何工作的元数据文件, 类似与Ant()中的build.xml (POM文件位于每个工程的根目录中)
Groupid : groupid是一个工程在全局中唯一的标识符, 一般的, 它就是工程名. groupld有利于使用一个完全的包名, 将一个工程从其它有类似名称的工程中区分出来
(全局唯一的标识符 , 工程名)
Dependency : 为了能够build或运行 , 一个典型的Java工程会依赖其它的包(jar). 在Maven中, 这些被依赖的包被称为dependency. 一般是其它的工程artifact.
Repository : 仓库(maven的默认路径 : C:/Repository )
2.1.6 通过命令行构建maven项目
常用的maven命令指令(执行打包命令时会自动执行前面的操作)
在cmd下使用命令,必须在项目的根目录下进行,及可以看到pox.xml
* 编译
mvn compile
* 测试
mvn test //运行测试 , mvn test -Dtest=${类名} //单独运行测试类
* 清除
mvn clean //将清除原来编译的结果
* 打包
mvn package , mvn package -Dmaven.test.skip=true //打包时不执行
* 安装发布
mvn install //将项目打包成结构安装到本地仓库
mvn deploy //发布到本地仓库或服务器(例 : tomcat ,jboss)
发布到仓库时的地址讲解 : 例子 C:/repository/cn.ckuiry.maven.quickstart/simple/0.1.1-sanshot
红 : 本地仓库地址 黄 : groupid (全局工程名称)
蓝 : 项目名称 绿 : 版本
2.1.7 maven工程转换
在maven工程目录下(可见pom的目录中运行cmd ---> 执行对应命令)
-- 转换Eclipse工程
* mvn eclipse : eclipse
* mvn eclipse : clean //清除Eclipse设置信息
-- 转换IDEA工程
* mvn idea : idea
* mvn idea : clean //清除idea设置信息
-- 显示一个插件的详细信息(configuration , goals等):
* mvn help:describe -Dplugin=pluginName -Ddetail
3.1 Eclipse整合Maven (4.4及以上自带Maven)
3.1.1 Window -->Preferences -->Maven --> Installations (默认是没有Name为apche-maven) -->右边Add选择你Maven安装目录找到能看见pom的目录Finish (一定要勾选并保存)
3.1.2 Window -->Preferences -->Maven --> User Settings (这里是Maven的配置文件, 找到安装目录中 conf\settings.xml --> Update Settings -->Reindex(建本地仓库建立索引))
3.2.1 Eclipse创建工程
File --> new --> Maven Project
创建java项目 --> Artifact ID 选择 maven -archectype -quickstart 直接下一步即可 (不推荐)
创建web项目 --> Artifact ID 选择 maven -archectype -webapp 直接下一步即可 (不推荐)
自定义项目(maven项目) 创建Maven项目时勾选首页的 Create a simp;e project (skip archetype selection) -->下一步界面跟之前的略有不同Packaging下拉框中的 jar , pom , war 分别表示 java项目 , maven项目 , web项目 只需填写前4项即可创建项目,由于需要去下载jar第一次创建有点慢.
致此maven项目已创建完成 可根据需要在pom中依赖jar直接使用.