maven学习笔记

Maven学习笔记

目录

maven安装

在maven官网https://maven.apache.org/ 可以下载到maven,下载对应操作系统的安装包进行安装即可。

注:maven的运行需要基于jdk环境,请先安装jdk并配置环境变量。

maven环境变量配置

系统变量新增变量 MAVEN_HOME : D:\Java\soft\apache-maven-3.2.5

系统变量path追加 ;%MAVEN_HOME%\bin

maven目录结构

  • bin:包含maven的可执行脚本
  • boot:只有一个文件 plexus-classworlds-2.5.2.jar,是一个类加载器框架,Maven使用他加载自己的类库
  • conf:存放settings.xml 文件
  • lib:maven自身依赖的jar已经plugin相关jar包

maven项目约定目录结构

使用maven的项目必须符合此结构,否则无法正常使用maven功能

urlrenark
src/main/javaApplication/Library sources 源码
src/main/resourcesApplication/Library resources 资源文件
src/main/filtersResource filter files 资源过滤文件
src/main/webappWeb application sources Web应用程序
src/test/javaTest sources 测试源码
src/test/resourcesTest resources 测试资源
src/test/filtersTest resource filter files 测试资源过滤器文件
src/itIntegration Tests (primarily for plugins) 集成测试(主要用于插件)
src/assemblyAssembly descriptors 程序集描述符
src/siteSite 站点信息
LICENSE.txtProject’s license 项目许可信息
NOTICE.txtNotices and attributions required by libraries that the project depends on
README.txtProject’s readme 项目自述

maven坐标


groupId:公司或组织倒序加+项目名

artifactId:模块名

version:版本

<groupId>com.ebididng.test</groupId>

<artifactId>test-biz</artifactId>

<version>1.0.0-SNAPSHOT</version>

maven中version版本介绍

Release 稳定版本

Snapshot 开发版本

SNAPSHOT 快照版本

maven生命周期

maven拥有三套独立的生命周期,分别是clean、default、site

  • Clean Lifecycle 在进行真正的构建前进行一些清理工作

  • Default Lifecycle 编译的核心部分,编译、测试、打包、部署等

  • Site Lifecycle 生成项目报告、站点,发布站点

Clean Lifecycle

nameremark
pre-clean执行一些清理前需要完成的工作
clean清理上一次构建生成的文件
post-clean执行一些清理后需要完成的工作

Default Lifecycle

nameremark
validate验证项目正确和相关资源是否可用
initialize初始化构建
process-sources处理源代码
generate-resources生成所有需要包含在打包过程中的资源文件
process-resources复制并处理资源文件至目标目录,准备打包
compile编译项目的源代码
process-classes后处理编译生成的文件,例如对Java类进行字节码增强(bytecode enhancement)
generate-test-sources生成所有包含在测试编译过程中的测试源码
process-test-sources处理测试源码,比如过滤一些值
generate-test-resources生成测试需要的资源文件
process-test-resources复制并处理测试资源文件至测试目标目录
test-compile编译测试源码至测试目标目录
test使用合适的单元测试框架运行测试。这些测试应该不需要代码被打包或发布
prepare-package在真正的打包之前,执行一些准备打包必要的操作。这通常会产生一个包的展开的处理过的版本(将会在Maven 2.1+中实现)
package将编译好的代码打包成可分发的格式,如JAR,WAR,或者EAR
pre-integration-test执行一些在集成测试运行之前需要的动作。如建立集成测试需要的环境
integration-test如果有必要的话,处理包并发布至集成测试可以运行的环境
post-integration-test执行一些在集成测试运行之后需要的动作。如清理集成测试环境
verify执行所有检查,验证包是有效的,符合质量规范
install安装包至本地仓库,以备本地的其它项目作为依赖使用
deploy复制最终的包至远程仓库,共享给其它开发人员和项目(通常和一次正式的发布相关)

Site Lifecycle

site生命周期的目的是建立和发布项目站点,Maven能够基于POM所包含的信息,自动生成一个友好的站点,方便团队交流和发布项目信息。该生命周期包含如下阶段:

nameremark
pre-site执行一些在生成项目站点之前需要完成的工作
site生成项目站点文档
post-site执行一些在生成项目站点之后需要完成的工作
post-deploy将生成的项目站点发布到服务器上

注:不管从哪个阶段开始执行,都会按顺序依次执行,例如执行package命令会从validate开始到package结束

pom.xml文件常用标签解析(Project Object Model)相对对象模型

nameremark
projectpom文件根元素
modelVersion指定pom的版本
groupId组织标识
artifactId模块标识
version项目版本号。一般使用三个数字,第一位表示大版本号,第二位表示分支版本号,第三位表示小版本号;snapshot快照、alpha内测、bate公测、release稳定、GA正式发布
package表示maven项目打包方式,不指定默认是jar,常用可选方式有war/zip/pom
dependency->scope依赖范围,包含compile、provided、runtime、test、system、import六种范围
dependency->optional设置依赖是否可选,默认false
dependency->exclusions排除依赖传递列表
dependencyManagement依赖管理,用于子模块继承
build为构建的行为提供相应的支持
parent用于继承父模块中dependencyManagement定义的依赖
modules指定多个模块进行编译,一般用于组成父模块

scope依赖范围

范围remark
compilescope默认值,编译、测试、运行都有效
provided编译、测试时有效
runtime
test测试范围有效,例如junit
system编译、测试时有效,与provided不同的是与本机系统相关联,可移植性差
import只在dependencyManagement标签中使用,表示是从其他pom中继承过来的依赖
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值