maven 通过cli 执行plugin 命令
实际可能会碰到一种场景我们希望进行maven 的打包(比如shade)但是目前项目pom.xml 没有包含plugin 的配置,实际上maven 是可以直接通过maven 坐标模式,使用完整名称进行插件的加载以及执行的
参考使用
- 命令
以下是对于项目打一个fat jar
mvn clean compile package org.apache.maven.plugins:maven-shade-plugin:2.3:shade
碰到的问题
- Failed to create shaded artifact, project main artifact does not exist. -> [Help 1]
目前此问题发现是因为mvn 执行的goal 顺序不太对,调整为了先clean compile 然后再shade
说明
实际上有不少开源项目也会使用到类似的方法(他们一般会使用maven api,进行依赖管理,对于实际执行一个命令会使用到类似上边的模式)