git-commit-id-plugin
在执行 git-commit-id-plugin:版本 :revision 会打印一堆的 Resolved tag 很人会看的很烦。关掉
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId>
<configuration>
<verbose>false</verbose>
</configuration>
</plugin>
参考:
dockerfile-maven-plugin
docker生成镜像、push到Docker Hub
maven-release-plugin
自动生成版本号以及tag。
exec-maven-plugin
执行脚本 xxx.sh
cobertura-maven-plugin
测试覆盖率
jacoco-maven-plugin
单元测试覆盖率报告
jib-maven-plugin
打包Docker镜像,并推送到DockerHub
kubernetes-maven-plugin
部署docker到k8s,
k8s:resource :主要是根据main/jkube/deployment.yml文件生成 /target/classes/META-INF/jkube/kubernetes.yml文件和/target/classes/META-INF/jkube/kubernetes/文件夹。生成这些文件供后续部署使用。
fabric8-maven-plugin
同样是部署k8s的和 kubernetes-maven-plugin差不多。
mvnrepository使用记录
Maven仓库快速找到自己想要的包
有时候在mvnrepository.com搜索会出来一堆结果但是没有我们想要的包,这时我们可以在浏览器中自己写Rest风格的URL来快速找到这个包。
图文如下:
示例:https://mvnrepository.com/artifact/org.springframework/spring-web
URL规则: https://mvnrepository.com/artifact/{groupId}/{artifactId}
现有低版本jar默认引用其他jar低版本 将其他jar修改为高版本。
这里原理思路相同 拿SpringBoot 和 elasticsearch举例
现有Spring Boot是 2.2.0.RELEASE,
导致默认spring-boot-starter-data-elasticsearch同样是 2.2.0.RELEASE,
导致默认spring-data-elasticsearch是3.2.0.RELEASE ,这个版本现在很低不能支持现有elasticsearch操作。
需要剔除当前包引用新的高版本包。
怎么判断那些包可以替换为高版本
看maven仓库
点进下边的jar可看 相关jar可升级到的最新jar。在进行一波exclusion这样我们就可以拿到最新的jar了。
Maven 命令行指定setting.xml文件
–settings /Users/xxx/XXX/maven-bak.xml
maven setting.xml小奥秘
user配置的就是user目录下的 A user’s install: ${user.home}/.m2/settings.xml
参考自 : 使用Maven,正确配置settings.xml配置文件
Maven 命令行指定 个别sub mode执行
参考:https://stackoverflow.com/questions/1114026/maven-modules-building-a-single-specific-module
参数 -pl : project-list 指定要执行model
联动参数: -am : -pl 中配置的model 必须依赖的model也执行。
Maven 将插件绑定到 Lifecycle,触发执行
主要参数 phase 绑定Lifecycle、goal 要触发的该插件的操作
<plugin>
<groupId>org.eclipse.jkube</groupId>
<artifactId>kubernetes-maven-plugin</artifactId>
<version>1.7.0</version>
<executions>
<execution>
<id>jkube</id>
<phase>deploy</phase>
<goals>
<goal>build</goal>
<goal>push</goal>
<goal>resource</goal>
</goals>
</execution>
</executions>
</plugin>