一 maven介绍
maven是什么
Maven是Apache下的一个纯java开发的开源项目,它是一个项目管理工具,使用maven对java项目进行构建、依赖管理。当前使用Maven的项目在持续增长。
maven项目构建过程
maven依赖管理
maven项目管理所依赖的jar包不需要手动向工程添加jar包,只需要在pom.xml(maven工程的配置文件)添加jar包的坐标,自动从maven仓库中下载jar包、运行。
使用maven依赖管理添加jar的好处:
1、通过pom.xml文件对jar包的版本进行统一管理,可避免版本冲突。
2、maven团队维护了一个非常全的maven仓库,里边包括了当前使用的jar包,maven工程可以自动从maven仓库下载jar包,非常方便。
maven好处
- 一步构建
maven对项目构建的过程进行标准化,通过一个命令即可完成构建过程。 - 依赖管理
maven工程不用手动导jar包,通过在pom.xml中定义坐标从maven仓库自动下载,方便且不易出错。 - maven的跨平台,可在window、linux上使用。
- maven遵循规范开发有利于提高大型团队的开发效率,降低项目的维护成本,大公司都会考虑使用maven来构建项目。
二 maven安装
下载安装
下载
从此网站 下载maven3.3.9 版本解压
将maven解压到一个不含有中文和空格的目录中。- bin目录 mvn.bat (以run方式运行项目)、 mvnDebug.bat(以debug方式运行项目 )
- boot目录 maven运行需要类加载器
- conf目录 settings.xml 整个maven工具核心配置文件
- lib目录 maven运行依赖jar包
环境变量配置
- 配置MAVEN_HOME
D:\maven\apache-maven-3.3.9
- 配置path
将 %MAVEN_HOME%/bin 添加到path - 检测是否配置成功
mvn -v
输出Apache Maven 3.3.9 …..
maven仓库
- 本地仓库 :用来存储从远程仓库或中央仓库下载的插件和jar包,项目使用一些插件或jar包,优先从本地仓库查找
默认本地仓库位置在 user.dir/.m2/repository, u s e r . d i r / . m 2 / r e p o s i t o r y , {user.dir}表示windows用户目录。 - 远程仓库:如果本地需要插件或者jar包,本地仓库没有,默认去远程仓库下载。
远程仓库可以在互联网内也可以在局域网内。 - 中央仓库 :在maven软件中内置一个远程仓库地址 ,它是中央仓库,服务于整个互联网,它是由Maven团队自己维护,里面存储了非常全的jar包,它包含了世界上大部分流行的开源项目构件。
- 配置本地仓库
MAVNN_HOME/conf/settings.xml文件中配置本地仓库
<localRepository> D:\maven\repository </localRepository>
maven 的使用
maven 目录
使用maven创建的工程我们称它为maven工程,maven工程具有一定的目录规范,如下:- src/main/java —— 存放项目的.java文件
- src/main/resources —— 存放项目资源文件,如spring, hibernate配置文件
- src/test/java —— 存放所有单元测试.java文件,如JUnit测试类
- src/test/resources —— 测试资源文件
- target —— 项目输出位置,编译后的class文件会输出到此目录
- pom.xml——maven项目核心配置文件
常用的maven命令
mvn compile
编译命令:作用是将src/main/java下的文件编译为class文件输出到target目录下
mvn test
测试命令:会执行src/test/java 下的单元测试类。
mvn clean
清理命令:执行clean会删除target目录的内容
mvn package
打包命令:对于java工程执行package打包成jar包,web工程打成war包
mvn install
安装命令:执行install将maven打成的jar包或者war包发布到本地仓库
项目构建
m2e插件安装配置
在eclipse中安装m2e插件
网上很多方法
指定maven安装目录
Window>Preferences>Maven>Installations
点击右侧add 选择自己安装maven的目录
在eclipse中配置使用的maven的setting.xml文件,使用maven安装目录下的setting.xml文件
选择User settings
User settings 选到maven的配置文件 D:\maven\apache-maven-3.3.9\conf\settings.xml
eclipse浏览仓库
maven配置完成需要测试在eclipse中是否可以浏览maven的本地仓库,如果可以正常浏览maven本地仓库则说明eclipse集成maven已经完成。
打开eclipse仓库视图,对插件和jar包建立索引
找到Local respository本地仓库项,点击Rebuild index重建索引
在eclipse中新建maven项目
- file>new Project>Maven
- 选择Maven Project
点击next 填写项目信息
新建一个web项目之后会报错,报错是因为没有生成xml文件,手动添加一个.xml文件,项目结构如下
导包
- 打开工程下的pom.xml文件
- 选择Dependencies 点击中间的add
添加jar包的时候可以选择作用域 Scope
test范围指的是测试范围有效,在编译和打包时都不会使用这个依赖
compile范围指的是编译范围有效,在编译和打包时都会将依赖存储进去
provided依赖:在编译和测试的过程有效,最后生成war包时不会加入,诸如:servlet-api,因为servlet-api,tomcat等web服务器已经存在了,如果再打包会冲突
runtime在运行的时候依赖,在编译的时候不依赖