一、下载安装
下载路径:http://maven.apache.org/download.cgi
选择打红线的进行下载,我用的版本是3.3.9,
下载后解压该文件,解压后的文件内容如下:
二、环境变量配置
首先说一下为什么要配置环境变量?配置环境变量目的是在任何地方都能运行mvn命令。
解压完成后开始配置maven的环境变量,在配置环境变量之前,首先确认你已经正确安装了JDK,在Windows的命令行中,运行java -version
用此命令来检查环境变量JAVA_HOME是否指向了正确的jdk目录,接着尝试运行java命令,如果Windows无法执行java命令,或者无法找到JAVA_HOME环境变量,
就需要检查java是否安装了,或者环境变量是否正确设置。
变量名:MAVEN_HOME 变量值:后面填写maven软件解压的位置,我的是在D盘的maven文件中
在path中加入这一行
环境变量配置成功的标志
三、maven仓库介绍
maven有两类仓库,本地仓库和远程仓库
本地仓库有一个默认的位置:~/.m2/repository/,~代表用户目录
将maven仓库解压到本地,修改默认的本地仓库,本地仓库的配置只需要修改setting.xml文件就行 自己解压的本地仓库的路径。
本地仓库: 自己维护
远程仓库(私服) :公司内部搭建的,由公司维护
中央仓库: maven团队维护 超过两个亿的jar包
四、eclipse中集成maven
Windows----àPreferences---àMaven----àinstallations
将解压到本地的maven导入到eclipse中,选择add
选择添加进来的maven
点User Setting 将maven软件的核心配置文件引入进来
五、入门程序演示
演示入门程序
- 新建maven项目
- 跳过骨架,如果不跳过骨架创建的项目是不完整的
- group id 定义当前maven项目隶属的实际项目;一般填公司名称或组的名称
- artifact id 该元素定义实际项目中的一个maven项目(模块);填模块名称或项目名称
- vertion 该元素定义maven项目当前所处的版本(一般默认)
- packaging:该元素定义maven项目的打包方式;Java工程 选jar web工程 选war pom父工程
- 创建完工程后---处理红色叉号----加web.xml放在webapp中创建WEB-IN将web.xml放在里面。处理编译版本build-build。添加后工程名称上出现红叉,更新一下
- 处理编译版本
- 手动创建servlet,出现错误,web.xml中删除一个xmln,添加jar包,修改pom.xml文件
maven的pom.xml文件
maven利用pom.xml来管理项目中依赖的jar以及项目的编译等功能。
1.dependencies元素
<dependencies></dependencies>,此元素包含多个<dependency></dependency>
2.dependency元素
依赖范围
依赖范围及时用来控制依赖于着三种classpath(编译classpath 测试classpath 运行classpath)的关系
maven有一下几种依赖范围
compile:编译依赖范围。如果没有指定,就会默认使用该依赖范围。spring-core
test:测试依赖范围。测试classpath有效,在编译主代码或者运行项目的使用时将无法使用此类依赖,列子Junit测试
provided:已提供依赖范围。编译和测试均有效,但在运行时无效。serlet-api
runtime:运行时依赖有效。测试和运行有效,但在编译主代码是无效,JDBC驱动实现
system:系统依赖范围。该依赖于三种classpath的关系,和provided依赖范围完全一致。
传递性依赖和依赖范围,
compile test provided runtime
compile compile --- --- runtime
test test ---- --- test
provided provided ---- provided provided
runtime runtime -- --- runtime
排除依赖
六、maven中常用的命令
mvn clean 清理编译好的文件
mvn site 生成项目相关信息的网站
mvn archetype:generate 创建maven项目
mvn test-comlile 编译测试源代码
mvntomcat:run 启动tomcat服务
mvn compile 编译源文件
mvn test 运行应用程序中的单元测试
mvn package 打包
mvn deploy 发布项目
mvn install 把项目发布到本地仓库
mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包,跳过测试类
maven的生命周期
Compile test package install
七、maven的生命周期
三种生命周期
clean生命周期
目的是清理项目
clean
default生命周期
compile (编译项目)
test (使用单元测试框架运行测试)
package(接受编译好的代码,打包成可发布的格式)
install(将包安装到maven本地仓库)
deploy(将最终的包复制到远程仓库。供其他开发人员和maven项目使用,发布到私服)
site生命周期
建立和发布项目站点
site生成项目站点文档
命令行与生命周期