maven pom 知识整理(粉丝福利篇)
Posted 栗子~~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven pom 知识整理(粉丝福利篇)相关的知识,希望对你有一定的参考价值。
文章目录
前言
如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!
maven pom 知识整理(粉丝福利篇)
01 什么是maven?
基于项目对象模型POM的一个项目管理工具,可以对 Java 项目进行构建、依赖管理的一个 Apache 旗下纯 Java 开发的开源项目。
02 Maven 工程的基本工作单元?
序号 | 路径 | 用处 |
---|---|---|
1 | $(basedir) | 存放pom.xml和所有的子目录 |
2 | $(basedir/src/main/java | 存放java的源代码 |
3 | $(basedir)/src/main/resources | 存放项目资源的位置 |
4 | $(basedir)/src/test/java | 存放写单元测试的位置 |
5 | $(basedir/src/test/resources | 存放测试用的资源 |
6 | $(basedir)/src/main/webapp/WEB-INF | web应用文件目录,web项目的信息,比如存放web.xml、本地图片、jsp视图页面 |
7 | $(basedir)/target | 打包输出目录 |
8 | $(basedir)/target/classes | 编译输出目录 |
9 | $(basedir)/target/test-classes | 测试编译输出目录 |
10 | -/.m2/repository | Maven默认的本地仓库目录位置 |
03 Maven的scope依赖作用域说明:
序号 | 作用域 | 描述 |
---|---|---|
1 | test | 测试范围有效,在编译和打包时都不会使用这个依赖 |
2 | compile | 编译范围有效,在编译和打包时都会将依赖存储进去 |
3 | provided | 编译和测试的过程有效,最后生成war包时不会加入。适用场景:如servlet-api因为servlet-api,tomcat等web服务器已经存在了,如果再打包就会发生冲突 |
4 | runtime | 运行的时候依赖,在编译的时候不依赖 |
04 pom.xml 三要素?
举个例子,首先我们通过idea生成一个新的工程时候会填以下几点,
生成后打开pom.xml文件
我们可以看到所有的POM文件都需要project元素和三个必需字段:
他们的含义为:
序号 | 标签 | 含义 |
---|---|---|
1 | project | 工程的根标签 |
2 | modelVersion | 模型版本需要设置为4.0 |
3 | groupld | 这是工程组的标识。它在一个组织或者项目中通常是唯一的 |
4 | artifactld | 工程的标志、即工程的名称 |
5 | version | 工程的版本号 |
05 maven项目的生命周期
序号 | 阶段(英文) | 阶段(中文) | 处理 | 含义 |
---|---|---|---|---|
1 | validate | 验证 | 验证项目 | 验证项目是否正确且所有必须信息是可用的 |
2 | compile | 编译 | 执行编译 | 源代码编译在此阶段完成 |
3 | Test | 测试 | 测试 | 使用适当的单元测试框架 |
4 | package | 包装 | 打包 | 创建JAR/WAR包如在pom.xml中定义提及的包 |
5 | verify | 检查 | 检查 | 对集成测试的结果进行检查、保证达标 |
6 | install | 安装 | 安装 | 安装打包的项目到本地仓库,以供其他项目使用 |
7 | deploy | 部署 | 部署 | 拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程 |
06 maven项目的创建方式
1、命令
mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
2、idea
右键->New-Module
07 pom 小知识
07::01 pom如何引用外部jar包
使用systemPath标签,如:
<dependency>
<groupId>org.jooq</groupId>
<artifactId>jooq-codegen</artifactId>
<version>3.9.0</version>
<scope>system</scope>
<systemPath>$project.basedir/src/main/resources/lib/jooq-codegen-3.9.0.jar</systemPath>
</dependency>
07::02 idea工具 忽略
07::03 代码打到本地仓库
07::04 pom.xml 依赖分析插件
安装maven dependency helper插件和maven helper插件
打开idea 选择 File -> Settings… ->Plugins
输入maven dependency helper
使用:
打开pom文件,选择dependency analyzer
以上是关于maven pom 知识整理(粉丝福利篇)的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot系列教程web篇Listener四种注册姿势