Maven的简介
1.什么是maven?
是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的。
2.Maven的好处
- 一键构建
- 应用于大型项目
- 可以提高开发效率可以跨平台
普通的传统项目
Maven项目
3.maven项目为什么这么小?
没有jar。 需要jar吗?肯定需要。没有存在于maven项目里面,jar存在于哪?
肯定需要jar,但是不存在项目中jar是存在我们电脑中的某一个文件夹里。
4.Maven能干的事:
编译 测试(junit) 运行 打包 部署
5.三种仓库
本地仓库 自己维护 只需要修改setting.xml配置文件即可。在本地里有一个文件夹里面放的都是jar包
远程仓库 公司维护
*仓库 maven团队维护
6.通过坐标:哪个公司/组织 哪个项目 的哪个版本
groupId:反写的公司网址+项目名
artifactId:项目名+模块名
version :第一个0表示大版本号,第二个0表示分支版本号 第三个0表示小版本号 0.0.1
snapshot 快照 alpha内部测试 beta公测 release稳定 GA正式发布
默认是jar 还有 war zip pom
7.Maven的安装配置
下载安装
从此目录中拷贝文件:
直接解压到一个没有中文没有空格的文件夹里解压后的目录如下:
Maven软件的核心文件:
Maven环境变量配置
- 要配置jdk, maven3.3.9这个版本所需的jdk版本必须要1.7以上
- 最终要运行的是maven软件中bin目录的mvn命令
所以要配置maven的环境变量
在系统变量添加
环境变量的名称:MAVEN_HOME
变量值:就是maven软甲解压的目录F:\class32\apache-maven-3.3.9
3、把MAVEN_HOME添加到path里
4、验证maven是否配置成功:
打开dos窗口 输入: mvn –v
8.三种仓库的关系如下:
9.Maven的目录结构
10.Maven的常用命令
Clean 清理编译的文件
Compile 编译了主目录的文件
Test 编译并运行了test目录的代码
Package 打包
Install 就是把项目发布到本地仓库
Tomcat:run 一键启动
11.Maven的生命周期(了解)
Compile test package install deploy(发布到私服)
三种生命周期
Clean生命周期
pre-clean 执行清理前的工作
clean清理上一次构建生成的所有文件
post-clean 执行清理后的文件
Default生命周期
Compile test package install deploy
Site生命周期
pre-site 在生成项目站点前要完成的工作
site 生成项目的站点文档
post-site 在生成项目站点后要完成的工作
site-deploy 发布生成的站点到服务器上
命令和生命周期的阶段的关系
不同的生命周期的命令可以同时执行
Mvn clean package
12.项目构建
M2e插件的安装
Maven在eclipse的配置
1、选择3.3.9版本的maven软件
2、修改默认的本地仓库地址
项目构建
- 新建maven项目
2、调过骨架,如果不跳过骨架选择创建出的项目目录是不全的
- 填写坐标
3、创建工程
4、处理红色叉号
手动在webapp文件夹下创建一个WEB-INF文件夹,在里面放一个web.xml文件
5、处理编译版本
在pom.xml中添加如下代码
5、创建一个servlet
修改web.xml
删除重复的代码
xmlns=http://java.sun.com/xml/ns/javaee
添加jar包
在pom中添加如下代码:
会发现jar包已添加到项目中
启动项目
右击项目---run as –maven build ….
13.依赖管理
Jar包的管理
添加依赖:
打开maven仓库的视图:
重建索引
- 创建maven项目(同上)
- 跳过骨架(同上)
- 填写坐标信息(同上)
- 添加web.xml文件(同上)
- 修改编译版本(同上)
- 添加坐标 选择Dependencies标签 点击add
手动输入要添加的坐标,选择版本
可以看到 pom.xml文件中多出了如下代码
同样的方式添加servlet-api.jar和jsp-api.jar 注意选择scope为provided
写action代码
添加struts.xml文件放到resources目录中
内容:
添加jsp页面
修改web.xml文件 添加过滤器
依赖范围
Compile:
编译(compile)时需要 测试时需要,运行时需要,打包时需要
Provided( jsp-api.jar servlet-api.jar):
编译(compile)时需要,测试(test)时也需要 ,运行时不需要,打包时不需要
Runtime (数据库驱动包)
编译时不需要,测试时需要,运行时需要,打包时需要
Test junit.jar
编译时不需要,测试时需要,运行时不需要,打包也不需要
添加插件
Maven add plugin
如果用tomcat7运行用命令:Tomcat7:run