Maven 基础
Maven的Apache公司开源项目,是项目构建工具。用来依赖管理
- maven的好处
使用传统项目开发crm项目,项目大小:
同样的项目使用maven开发
同样的代码,实现功能都一样,maven项目如何做到的?可以初步推断maven项目中一定没有jar包。没有jar包的maven项目如何运行?
Maven项目找jar包过程
- maven的好处如何实现
maven的两大核心:
**依赖管理:对jar包管理过程
**项目构建:项目在编码完成后,对项目进行编译、测试、打包、部署等一系列的操作都通过命令来实现
通过maven命令将web项目发布到tomcat:
- maven安装、配置本地仓库
maven程序安装前提:maven程序java开发,它的运行依赖jdk。
-
- maven的下载安装
1、找到资料
2、解压到本地磁盘(解压目录不要有中文,空格)
3、配置环境变量
Jdk环境变量:JAVA_HOME
将maven_home环境变量配置到path环境变量中
查询maven的版本信息:
-
- 配置本地仓库
仓库类型:
配置本地仓库:
- 找到jar包仓库压缩包
- 解压到本地磁盘
- 配置本地仓库:让maven程序知道仓库在哪
- maven项目标准目录结构(记忆)
对项目中文件进行细分:
- maven的常用命令(应用)
- clean:清理
将项目根目录下target目录清理掉。
-
- compile:编译
将项目中.java文件编译为.class文件
-
- test:单元测试
单元测试类名有要求:XxxxTest.java
将项目根目录下src/test/java目录下的单元测试类都会执行。
-
- package:打包
web project ---- war包
java project -----jar包
将项目打包,打包项目根目录下taget目录
-
- install:安装
解决本地多个项目公用一个jar包。
打包到本地仓库
-
- maven项目的生命周期(了解)
在maven中存在“三套”生命周期,每一套生命周期相互独立,互不影响。在一套生命周期内,执行后面的命令前面操作会自动执行
CleanLifeCycle:清理生命周期
Clean
defaultLifeCycle:默认生命周期
compile,test,package,install,deploy
siteLifeCycle:站点生命周期
site
-
- 概念模型
两个核心:
**依赖管理:对jar包管理
**项目构建:通过命令进行项目构建
- maven整合web项目案例
- 配置eclipse中maven环境
- 配置m2e插件,Mars2版本自带maven插件
- 需要配置maven程序
- 配置userSetting:让eclipse知道maven仓库位置
- 构建索引
-
- Maven整合servlet
4
创建好的web项目,错误:
- web.xml缺失
- jdk编译版本1.5,在pom.xml中添加插件
- 创建servlet,serlvet编译报错,原因:缺失servlet-api-xx.jar包
-
-
- 查找依赖
-
注意:选择依赖选择[jar]
-
- 依赖范围(了解)
添加依赖范围:默认是compile
Provided: 运行部署到tomcat不在需要
如果将servlet-api.jar设置为compile,打包后包含serlvet-api.jar,war包部署到tomcat跟tomcat中存在servlet-api.jar包冲突。导致运行失败。
解决:
总结:如果使用到tomcat自带jar包,将项目中依赖作用范围设置为:provided,其他可以默认
-
- 运行项目
调试:
-
- Maven整合struts2
1、通过工具生成web.xml
2、添加struts2的依赖
3、创建struts.xml
4、创建action类
5、在web.xml中配置struts2框架核心过滤器
- 编写action中方法
- 在struts.xml中配置
- 总结
- 安装
- Maven标准的目录结构
ProjectName
src
main
java
resources
[webapp/WEB-INF/web.xml]
Test
Java
Resources
pom.xml
- Maven常用命令
- Clean
- Compile
- Test
- Package:项目根目录target目录
- Install:本地仓库
- 使用eclipse开发maven项目
- 区别:
- 不在拷贝jar包
- 项目目录结构不同
- Pom.xml:项目对象模型
- 本项目的坐标信息
- 本项目jdk编译版本的信息
- 本项目需要的依赖的坐标的信息