Maven
在开发过程中,我们需要导入各种功能性的jar包,而每次去官方平台下载再在开发工具中导入十分的繁琐,所以Apache开发了Maven项目管理工具,对软件项目提供构建和依赖管理的开源项目。
特性:
- 项目设置遵循统一的规则,保证不同的开发环境的兼容性
- 强大的依赖管理,项目依赖组件自动下载,自动更新
- 可扩展的插件机制,使用简单,功能丰富
Maven目录结构
- bin :可执行文件
- boot :引导文件
- conf :配置文件
- lib :依赖包
在bin目录中的mvn.cmd文件作为Maven的核心文件,所有的命令都依靠这个文件
Maven安装
访问Maven官网下载最新安装包
加载完成后,解压至指定目录,并添加环境变量。创建一个M2_HOME
的变量值为Maven的目录,再在PATH
中加入%M2_HOME%/bin
打开cmd输入mvn -v
能够正常打印Maven版本即为安装成功
修改配置文件
修改镜像服务器地址
Maven默认是从https://search.maven.org/地址下载所需的jar包,由于是国外的服务器所以访问时间可能较长。为了方便访问,阿里提供了镜像服务器(https://maven.aliyun.com/mvn/search)供开发人员下载jar包。
这里修改Maven中/conf/setting.xml
文件,在mirrors
标签中添加阿里的镜像服务器
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
若阿里的镜像库中存在则优先从镜像服务器中下载,若没有再去官方服务器下载
修改本地仓库的位置
从服务器上拉取到本地的jar包默认保存在${user.home}/.m2/repository
路径下,由于User文件夹都在C盘上考虑到文件管理和磁盘大小,都需要修改本地仓库的位置。
修改Maven中/conf/setting.xml
文件,在setting
标签中添加
<localRepository>E:\03.WorkFile\.m2\repository</localRepository>
具体存放路径可自定义
本地仓库目录结构
所有的jar包都会被归纳在各自的文件夹中,文件夹按照包名进行逐级创建,需要找那个jar包就可以按包名逐级查找。
Maven的主要操作
maven主要使用的操作包括一下几种:
- mvn archetype:generate :创建Maven工程结构
- mvn compile :编译源代码
- mvn test :执行测试用例
- mvn clean :清除产生的项目
- mvn package :打包项目
- mvn install :安装至本地仓库
创建Maven工程
打开cmd进入工作目录,输入mvn archetype:generate
开始创建工程
初次创建工程,Maven会首先下载必要jar包,下载完成后提示需要创建的项目类型,一般选择默认的maven-archetype-quickstart
快速开发版本
输入项目的groudId(机构或团体名称,一般以逆向工程名命名),artifactId(项目名称),version(项目版本)确认之后会提示创建package的路径,默认为groupId的路径。输入完成后确认信息,项目即可创建成功。
此时查看工程目录可以发现Maven已经自动创建好了一些信息
src目录包含了项目所有的源代码,main目录主要存放Java项目源码,test目录主要存放测试类的源码,Maven会自动生成一个包含主方法的类和一个测试类
pom.xml项目(Project)对象(Object)模型(Model)文件用于记录项目的基本信息和需要引入的jar包的信息
Maven会自动为我们导入JUnit测试类,后期开发如果需要用到其他jar包,可以在Maven仓库中查找该jar包的相关信息,并将其依赖信息复制到pom.xml文件中Maven就会自动下载jar包并添加到项目中。
项目编译
在cmd中输入mvn compile
就可以对项目进行编译
项目编译主要分为两部分,一部分为将资源文件存放在resource文件夹中,另一部分将编译好的class文件存放在target目录下。查看target目录可以看到编译好的class文件
项目测试
在cmd中输入mvn test
,Maven会自动执行编译的文件是否能够执行通过
项目打包
在cmd中输入mvn package
进行对项目的打包,若设置为生成jar包则会将项目在target目录下打成jar包,若设置的为war包则打包成war文件
在打包之前会对项目进行测试,测试成功才能继续打包
项目发布
我们写好的jar文件如果也想像其他jar包一样在Maven中引用,可以使用mvn install
命令将jar包发布到本地仓库中,下次再使用时就可以直接添加依赖。