maven 学习整理

maven:

1. 常用命令

a) compile 就是编译项目,一般不用,ide都自带
b) clean 删除target/
c) test test case junit/testNG
d) package 打包
e) install 把项目install到local repo
f) deploy 发本地jar发布到remote

2、profiles:

profiles主要应用场景是根据不同环境打不同的包,比如数据库测试环境和生产环境不一样 但是这种方式就给开发同事暴露了生产数据库的帐号密码, 所以正确的操作应该是,配置文件采用template替换数据库帐号密码,部署的时候由运维同事根据不同的环境 动态替换包里template配置文件里的参数。

坑:profiles功能在spring boot下无用,因为spring boot下的配置文件必须要注入才生效。

3、生命周期:

3个阶段项目独立,每个阶段是指令是顺序执行的,比如执行install,会依次先执行compile、package、而不会执行deploy

image.png

4、为什么要有maven私服:

避免团队重复从中央仓库或者第三方仓库下载构件,开发的构件为团队其他人使用,内网开发,安全

5、maven插件:

我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有 这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的。进一步说,每个任务对应了一个插件目标(goal),每个插件会有一个或者多个目标,例如maven- compiler-plugin的compile目标用来编译位于src/main/java/目录下的主源码,testCompile目标用来编译位于src/test/java/目录下的测试源码。

可以自己写插件,继承AbstractMojo即可,插件跟dependency一样,需要引入。挂载在生命周期里,让执行某个生命周期时也执行指定goal的插件

image.png
image.png

你可能感兴趣的:(maven 学习整理)