maven介绍
maven是apache组织开发的一款开源的可以管理JavaWeb项目jar包的构建,可以解决jar包之间的冲突;可以对项目进行管理,比如项目打包等,maven使用pom项目对象模型进行构建项目的。
POM介绍
POM(Project Object Model 项目对象模型),是一个maven的核心配置文件(xml格式)。用于描述项目如何构建,声明项目依赖,打包运行的方式等等。它是按面向对象的思想来管理项目的(每个jar包都是一个对象,通过给对象配置不同的属性来解决jar包的使用范围、不同版本冲突等),每个maven工程中都有一个pom.xml配置文件。
maven的作用
项目jar包的构建,项目的管理(项目生命周期的管理),比如:打包,javase项目打jar,javaweb项目打成war包,还有其他功能,如分模块开发,以后有空再写分模块开发这方面的文章.
Maven的仓库
maven有两种仓库类型:
一种是本地仓库,一种是远程仓库,详情看下图.
官方的中央仓库地址:
http://repo1.maven.org/maven2/ |
第三方阿里云仓库:
http://maven.aliyun.com/nexus/content/groups/public/ |
Maven的坐标
坐标的作用是可以在pom.xml配置坐标信息,坐标信息用于指向仓库里面具体jar包的位置
坐标具体含义
groupId | 对应仓库里面第一层目录 |
artifactId | 对应仓库里面第二层目录 |
version | 对应仓库里面第三层目录 |
举个例子,引用junit的jar包使用坐标来描述,这个描述会放到pom.xml文件中
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11version> <scope>test</scope> </dependency> </dependencies>
本地仓库的jar包位置
需要注意的是:大多数每个坐标的组成都对应的是一层目录,只有groupId特殊,如果groupid描述的信息中有“.”,就会代表多层目录结构
Maven的安装与配置
1.下载maven
官方下载地址: https://maven.apache.org 鼠标点击复制 |
2.下载完成解压到目标路径完成安装
了解下maven服务器的目录结构
3.解压完成需要配置maven的全局配置文件settings.xml
3.1绑定本地仓库
<localRepository>F:\repository</localRepository>
3.2绑定远程仓库,阿里云
<mirror> <id>nexusid> <mirrorOf>*</mirrorOf> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </mirror>
3.3配置全局的jdk编译级别版本(如果不配置,默认编译级别是1.4,太低,idea运行的话会有警告)
将上面信息配置到如下位置
<profile> <id>development</id> <activation> <jdk>1.8</jdk> <activeByDefault>true</activeByDefault> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile>
3.4设置环境变量,到处都可以使用maven的命令
3.5测试是否安装配置成功,命令行出现如下信息代表配置成功
命令:mvn -version |
下面用IDEA绑定本地Maven服务器
绑定本地maven软件
设置运行参数
-DarchetypeCatalog=internal ,用于设置任何配置信息都从本地缓存中拿。有一些模板信息maven默认从远程仓库下载获取,如果设置了这个参数第一次从远程拿,以后从本地拿(这就要求大家第一次玩maven必须联网,1~5M不等)
-DarchetypeCatalog=internal |
配置效果看截图
使用Maven骨架向导创建javaweb工程
使用向导骨架创建maven项目
生成默认的项目目录结构
maven对JavaWeb项目目录结构的要求是很规范的,需要熟记,不然真的会被大佬嘲笑
main | 主程序目录,会被放到打包war文件中【必须有】 |
java | 主程序java源文件目录 |
resources | 放业务配置文件,最后会放到classes类路径下面 |
webapp | 存储web资源文件,类似以前web工程中web目录 |
test | 测试程序目录,不会放到war文件中【可有可无】 |
java | 测试程序java源文件目录 |
resources | 放测试配置文件 |
target | 输出目录,部署的资源,由maven自动管理自动生成 |
pom.xml | 配置jar包的配置文件【必须有】 |
src | 存放项目代码的根目录 |
完善当前JavaWeb项目目录结构
注意:项目树里面的颜色变化,需要点击maven窗口里面的刷新才会有。
注意:maven不使用骨架创建JavaWeb项目,不勾选Create from archetype直接点击Next即可;
下面了解一下maven的工具栏以及生命周期:详情可百度,不做详细介绍