Maven 基础
1、maven的好处:
使用传统项目开发crm项目,项目大小:
同样的项目使用maven开发
同样的代码,实现功能都一样,maven项目如何做到的?可以初步推断maven项目中一定没有jar包。没有jar包的maven项目如何运行?
Maven项目找jar包过程
2 maven的好处如何实现
maven的两大核心:
**依赖管理:对jar包管理过程
**项目构建:项目在编码完成后,对项目进行编译、测试、打包、部署等一系列的操作都通过命令来实现
通过maven命令将web项目发布到tomcat:
3 maven安装、配置本地仓库
maven程序安装前提:maven程序java开发,它的运行依赖jdk。
3.1 maven的下载安装
1、下载资料
2、解压到本地磁盘(解压目录不要有中文,空格)
3、配置环境变量
Jdk环境变量:JAVA_HOME
将maven_home环境变量配置到path环境变量中
查询maven的版本信息:
3.2 配置本地仓库
仓库类型:
配置本地仓库:
1、 找到jar包仓库压缩包
2、 解压到本地磁盘
3、 配置本地仓库:让maven程序知道仓库在哪
4 maven项目标准目录结构
对项目进行细分
5 maven的常用命令
将项目根目录下target目录清理掉。【其实就是把 .class 文件清理掉了。 作用就相当于Eclipse的clean操作】
5.1 compile:编译
将项目中.java文件编译为.class文件
target文件又出来了
5.2 test:单元测试
单元测试类名有要求:XxxxTest.java
将项目根目录下src/test/java目录下的单元测试类都会执行。
在进行test命令时,先编译,而后才执行单元测试
5.3 package:打包
若项目是web project —- 则会打包成war包
若java project —–则jar包
将项目打包,打包项目根目录下taget目录
5.4 install:安装
把当前jar/war文件发布到本地仓库中,供其他模块使用
发现:clean—> compile—>test—>package—>install【注意箭头方向】
执行后面的命令,前面的命令也会自动执行
5.5 maven项目的生命周期(了解)
在maven中存在“三套”生命周期,每一套生命周期相互独立,互不影响。在一套生命周期内,执行后面的命令前面操作会自动执行
CleanLifeCycle:清理生命周期 Clean
DefaultLifeCycle:默认生命周期 compile,test,package,install,deploy
SiteLifeCycle:站点生命周期 site
5.6 概念模型
两个核心:
**依赖管理:对jar包管理
**项目构建:通过命令进行项目构建
6、创建一个Maven项目
6.1 配置eclipse中maven环境
1、 配置m2e插件,Mars2版本自带maven插件
2、 需要配置maven程序
3、 配置userSetting:让eclipse知道maven仓库位置
4、创建索引
5、创建标准项目结构
6.2创建好的web项目,错误:
1、 web.xml缺失
2、 jdk编译版本默认1.5 需要在pom.xml中添加插件
然后右键项目 maven update project
3、 创建servlet,serlvet编译报错,原因:缺失servlet-api-xx.jar包 【所以,进行下面的学习内容】
查找依赖:
注意:选择依赖【就是选择jar包】
pom.xml—> dependencies窗口 –>Add(输入要所需依赖名)
注意保存
或者直接在pom.xml文件空白处右键 Maven—>Dependency
6.3 依赖范围
【jar包的作用范围】
添加依赖范围:默认是compile
Provided: 运行,即 部署到tomcat上时不再需要
如果将servlet-api.jar设置为compile,打包后包含serlvet-api.jar, war包部署到tomcat跟tomcat中已经存在的servlet-api.jar包会冲突。导致运行失败。
解决
总结:
如果使用到tomcat自带jar包,将项目中依赖作用范围设置为provided,其他可默认
6.4 运行项目
输入
路径
调试: 项目右键 Debug As maven build… tomcat:run
然后Source栏 add project 本项目
【关联源码,否则无法debug】
以上就是maven的基础使用教程了,写项目已经够用,如果需要资料的话可以给我发私信,小小白在努力>_<