maven学习笔记
Maven概念
maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
核心功能(在概念模型中会详细阐述)
1.依赖管理:表示maven工程对jar包的管理过程。
传统web工程中每一个工程里都要放其所需要的jar包。maven开发的项目将jar包统一放在jar包仓库中,需要时通过jar包坐标(pom.xml)来寻找,体现了代码可重用性。
2.一键构建
使用maven的一个命令就可以完成项目的编译,测试,运行,打包,安装,部署整个构建过程。
Maven仓库
平时使用:
maven工程(含jar包的坐标)—>本地仓库(自己下载的jar包)—>中央仓库—>(包含所有开源jar包)
在企业工作时:
maven工程(含jar包的坐标)—>本地仓库(自己下载的jar包)—>远程仓库【私服】(可放置本地仓库的jar包,中央仓库的jar包)—>中央仓库(包含所有开源jar包)
配置本地仓库的方法:
1.将之前下载的jar包都放在一个文件夹中,我选择的是D:\maven_repository
2.打开maven下载目录下conf文件夹中的settings.xml文件,找到
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
在下面添加自己指定的仓库地址:(该脚本外添加)
<localRepository>D:\maven_repository</localRepository>
Maven项目标准目录结构
src/main/java:核心代码部分
src/main/resources:配置文件部分
src/test/java:测试代码部分
src/test/resources:测试配置文件
src/main/webapp:页面资源(js,css,图片)
Maven常用命令
指定一个maven工程目录
打开cmd窗口——>cd 工程目录路径——>回车——>盘符:——>回车
工程中会有一个target目录,用来存放各种命令执行后产生的文件。
1.mvn clean 删除target目录
2.mvn compile 将src/main目录下的java文件编译成class文件
3.mvn test 将src/main目录和src/test目录下的java文件编译成class文件
4.mvn package 除了第3步的所有工作,还把项目打包存放于target目录下(打包形式可以在项目目录下的pom.xml文件中配置)
4.mvn install 除了第4步的所有工作,还把项目打包存放于本地仓库中
Maven生命周期
1.清理生命周期:clean(清除项目编译信息)
2.默认生命周期:compile编译,test测试,package打包,install安装,deploy发布(后面的操作会包含全部前面的操作)
3.站点生命周期
Maven概念模型
核心功能之依赖管理:(讲述maven项目对jar包的管理过程)
pom.xml配置文件中包含
1.项目自身信息
2.依赖项目管理模型dependency,
即项目运行所依赖的jar包信息(jar包的坐标),(包括公司组织的名称groupid,项目名artifactld,版本号version)
运行一个maven工程时,第一站先从local仓库中找jar包,其次从central仓库中下载jar包(需要联网),如果在公司里,local仓库找不到会去b2b仓库(远程仓库)中找jar包。最后去central仓库。
3.项目运行环境信息(jdk,tomcat)
核心功能之一键构建:(讲述maven项目对jar包的管理过程)
默认生命周期的5个命令(compile编译,test测试,package打包,install安装,deploy发布)分别对应maven底层的一个插件
Idea中maven的配置
File settings——>左边搜索Maven并双击——>
1.配置Maven home directory到自己下载的maven目录
2.配置User settings file到maven目录下conf目录下的settings.xml文件
3.如果之前提前配置了本地仓库,Local repository会自动跳转到指定的本地仓库目录。
——>再双击配置页面左边Maven下面的runner——>
配置VM Options为-DarchetypeCatalog=internal,表示联网相关配置(具体没听明白)
创建maven工程
1.创建maven的java工程
创建project时,选择maven即可。
可以使用quickstart骨架,也可以不使用(推荐)
缺少的目录可以自己补足(有系统提示)
1.创建maven的web工程
使用webapp骨架
缺少的目录可以自己补足(有系统提示)
maven工程之servlet步骤
1.在main/java包下创建一个包
2.file structure modules 双击Web 勾选下面的source roots
3.在包中创建servlet类型的文件
4.在pom.xml中写入需要的包的坐标