maven随手记

一个用于java项目构建、依赖管理的软件

pom中几个重要的元素:
parent:父项目
groupId:一般用于指定组织或者公司
artifactId:指定工程标识
version:版本
modelVersion:模型版本,用于指定maven模型的版本

父pom
无论是否设置父pom,一个maven项目默认都会继承一个父pom。它包含了一些子pom可以继承的设置,例如maven仓库的设置;

Maven 构建生命周期
典型的有
validte: 验证项目信息是否正确
compile: 编译
test: ut
package: 打包
verify:对ut结果检查
install: 本地仓库
deploy: 远程仓库

仓库
maven本地依赖项目时,遵循下面几个步骤:
1 先检查本地仓库,如果没有进入 2 
2 是否有远程仓库配置,有则去远程仓库下载,远程仓库如果没有,远程仓库会去中央仓库下载;如果没有配置远程仓库,进入3
3 去远程仓库下载

插件
maven的各生命周期是依赖不同的插件进行执行, 例如mvn clean 命令就是依赖maven-clean-plugin插件执行
我们可以使用maven-plugin-plugin来构建一个自定义插件
可以使用Mojo注解定义插件的名称例如下面:
@Mojo( name = "clean", threadSafe = true )
public class CleanMojo extends AbstractMojo

依赖管理
依赖调节:对于依赖相同项目不同包,会根据深度和顺序确定, 深度较小的优先,先申明的优先
依赖排除:排除依赖
依赖可选:通过使用 "optional" 元素。例如:A 依赖 B, B 依赖 C。因此,B 可以标记 C 为可选的, 这样 A 就可以不再使用 C。没怎么用过
依赖范围:
    compile:默认范围编译阶段
    provided:相关的依赖是服务器提供,打包不用打进去
    runntime:编译阶段不必须
    system:跟provided类似,区别在于依赖项由本地文件提供
    test:只在执行ut时使用
    

发布了22 篇原创文章 · 获赞 1 · 访问量 529

猜你喜欢

转载自blog.csdn.net/weixin_37512224/article/details/104071102