目录
开发工具
IDEA
Maven下载
下载地址:点击此处
配置环境变量
在系统变量中添加:
在系统变量的Path中添加:
%MAVEN_HOME%\bin
在命令提示符界面输入 mvn -v 验证
修改Maven本地仓库
在使用Maven构建项目时,所依赖的一些jar包会放在你的本地仓库中,所谓的本地仓库就是你本地的一个文件夹,我们可以自定义文件夹来作为本地仓库
修改Maven安装目录下conf文件夹下的settings.xml文件(先备份一份)
在IDEA中添加本地Maven
IDEA中也有自带的Maven工具,但为了方便我们修改,我们可以添加自己本地的Maven,覆盖原有的配置文件
更改当前项目设置
更改创建新项目时的设置
为了加快Maven项目的创建,可以在当前项目和新项目的设置中添加一个参数:
添加参数:-DarchetypeCatalog=internal
创建Maven项目
Maven项目约定目录
这是Maven项目的约定目录结构,所谓约定,就是不会强制你这样写,但会建议你这样写,所以我们还是根据这个目录结构来构建项目
创建Maven管理的Java项目
项目结构
和约定目录对比一下,此时项目结构是不完整的,我们需要添加几个目录
在main目录下创建resources目录,并指定为资源目录
在test目录下创建resources目录并指定为测试资源目录
项目完整结构
pom.xml文件(maven核心配置文件)
可以使用右边的Maven菜单来实现Maven不同阶段的一些功能
创建Maven管理的Web项目
项目结构
这里只有存放网页文件的目录,没有存放java文件的目录,我们需要完善一下,增加存放Java程序和测试文件的目录
完整项目结构
创建servlet和jsp文件
此时是无法直接创建servlet的,使用Maven虽然不需要导入jar包,但我们需要添加依赖,所以我们需要在pom.xml文件中添加servlet和jsp的依赖,添加依赖使用的是坐标的形式
需要使用哪个jar包的依赖可以去上面的地址中查询对应的坐标
比如添加servlet的依赖
jsp依赖的相关jar包的坐标信息也是使用相同的方式添加
如果根据坐标信息在你的本地仓库中找不到对应版本的jar包,Maven会自动下载相应的jar包到你的本地仓库
此时你可以根据坐标信息去你的本地仓库中查看一下
servlet坐标信息对应的jar包在本地仓库中的位置:
本地仓库\javax\servlet\javax.servlet-api\3.1.0
在配置文件中添加完依赖后,重新加载一下Maven项目
此时就可以直接创建servlet了
pom.xml文件中添加的依赖会在Maven构建项目的不同阶段起作用
Maven的生命周期,也就是Maven构建项目的不同阶段
在pom.xml文件中添加依赖时,我们会发现一个问题 scope(范围) 标签中的参数不同
这个参数有什么作用呢?
这个参数的作用就是使添加的依赖在Maven构建项目的不同阶段生效
scope(范围)标签中不同值的含义:
test:只在Maven的测试阶段生效
provided:只在Maven的测试阶段和编译阶段生效
compile:在所有阶段都生效
比如我们添加的JUnit依赖,他的scope标签中是test,该依赖的作用范围是对项目进行测试的阶段,JUnit框架本身就是做测试用的
我们在配置依赖时scope标签中使用provided值,然后对项目进行打包
查看项目的打包文件,找不到项目所依赖的jar包
我们在配置依赖时scope标签中使用compile值,然后对项目进行打包
查看项目的打包文件,可以发现多了一个lib目录,我们可以在里面找到项目所依赖的jar包
这是因为compile值会使依赖在Maven的任何一个阶段都生效,包括Maven打包项目的阶段,而provided只会使依赖在Maven的测试和编译阶段生效,Maven的打包阶段不会生效,所以在打包时不会将项目所依赖的jar包添加进去