maven是一个项目管理工具,可以用来进行项目的管理和代码的编译,它有各种不同的生命周期,每个生命周期之间是相互独立的,常见的生命周期有clean,build,deploy等,每个生命周期又有不同的阶段,下一个阶段依赖上一个阶段,例如构建生命周期中,mvn install命令会执行install阶段前的compile,test命令。
1.maven的安装,去官网进行下载即可,地址如下
http://maven.apache.org/download.cgi
注意,安装前需安装jdk
下载后将文件放在电脑目录中,设置好环境变量
查看maven安装版本,同时也有jdk的版本
安装目录结构 ,conf下面是它的配置文件
2. java代码实例
首先看下目录结构
maven02依赖maven01,看下maven02的源代码
那么首先编译maven02的话肯定会报错,因为maven01还没有编译和安装,maven02就找不到包,利用maven进行项目的编译会参照pom.xml文件,maven02的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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
#项目坐标,用来定位项目的包,由groupID,artifactId,version组成
<groupId>com.sun.maven01</groupId>
<artifactId>maven02-util</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies> #依赖的项
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
<dependency>
<groupId>com.sun.maven01</groupId>
<artifactId>maven01-model</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
<build>#构建生命周期用到的插件,通过插件来实现功能
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>#插件坐标
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>package</phase> #构建生命周期的阶段
<goals>
<goal>jar-no-fork</goal>#执行插件中的功能目标,打成jar包
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
3. 代码运行效果展示
首先安装maven01到本地仓库
之后编译maven02项目
由于我们写了测试代码,可以运行测试,如下所示
4.maven全局设置文件seting.xml和特定项目pom.xml,pom.xml可以包含seting.xml,他们之间配置可以合并,冲突时以pom.xml为准,项目部署时用到的仓库不会关联mirror元素。镜像mirror配置按顺序匹配,匹配到第一个之后不会再去匹配下面的mirror,即使匹配之后没找到文件。
5.部署项目时需要在pom.xml中增加<distributionManagement>元素,快照版本和发布版本在项目坐标的version中区分,snapshoot为快照版本,release为发布版本。推荐的maven私服nexus
完结,谢谢大家