Maven是一个项目管理工具
做了两件事:
1.统一开发规范与工具
2.统一管理jar包
使用Maven构建的普通Java项目,对源代码,单元测试码,资源乃至后续需要的文件都有专门的目录规划,
最后有一个pom.xml, 这是Maven的核心配置文件, pom称为Project Object Model(项目对象模型),
它用于描述整个Maven项目,所以也称为Maven描述文件.
打开pom.xml,最基础的是这样的:
1
2
3
4
5
6
7
8
9
10
| <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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.xrq.withmaven</groupId>
<artifactId>withmaven</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build/>
</project>
|
这个配置文件是Maven的核心,
1.modelVersion:
指定了当前Maven模型的版本号,对于Maven2和Maven3来说,他只能是4.0.0.
2.groupId:
公司名或是组织名,有三部分组成,每个部分之间以","分隔,第一部分是项目用途,比如"com
,第二部分公司名"baidu",第三部分就是项目名.
3.artifactid:
是Maven的构建项目名,项目中有子项目,就可以是"项目名-子项目名"的命名方式.
4.version:
版本号, grouId. artifactid,version 三个元素生成了一个Maven项目的基本坐标.
1.packing:
项目打包的类型,可以使jar. war rar pom ,默认是jar.
2.dependencies和dependency:
前者包含后者. Maven的一个重要作用就是同意管理jar包,为了一个项目可以build和运行.项目中不可避免的,会依赖很多其他的jar包,在Maven中,这些依赖就被称为dependency.
在这里,就有一个本地仓库和远程仓库的概念,官方下载的本地仓库配置.在"%MAVEN_HOME%\conf\settings.xml"里面.
本地仓库和远程仓库是这样的,Maven工程首先会从本地仓库中获取jar包,当无法获取指定jar时,本地仓库会从远程仓库(中央仓库)中下载jar包,并放入本地仓库以备将来使用.
例子:项目中用到了MyBatis,那么可以配置成
1
2
3
4
5
6
7
| <dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.5</version>
</dependency>
</dependencies>
|
3.build
build表示与构建相关的配置,比如build下有finalName,表示的就是最终构建之后的名称,
Maven的目录结构:
*main目录下是项目的主要代码,test目录下存放测试相关的代码.
*编译输出后的代码会放在target目录下.
*src/main/java下存放java代码,src/main/resources下存放配置文件.
*这里没有webapp,Web项目会有webapp目录,webapp下存放Web应用相关代码,
*pom.xml是Maven项目的配置文件.
二:maven常用命令
1.mvn compile 编译
2.mvn test 编译并测试
3.mvn clean 清空生成的文件
4.mvn site 生成项目相关信息的网站
三.Maven环境配置:
1.和JDK的环境变量配置类似
2.设置本地仓库地址和私服仓库地址,即setting
setting和本地仓库默认的地址是C:\Users\Administrator\m2
配置setting中内容:
(一般情况下,setting中的参数值可以向项目经理拿)
二.开发工具与maven的集成
1.idea与maven的集成:idea自身集成maven插件
|
|