实际可能会碰到一种场景我们希望进行maven 的打包(比如shade)但是目前项目pom.xml 没有包含plugin 的配置,实际上maven 是可以直接通过maven 坐标模式,使用完整名称进行插件的加载以及执行的

参考使用

  • 命令
    以下是对于项目打一个fat jar
mvn clean compile  package org.apache.maven.plugins:maven-shade-plugin:2.3:shade
  • 1.

碰到的问题

  • Failed to create shaded artifact, project main artifact does not exist. -> [Help 1]
    目前此问题发现是因为mvn 执行的goal 顺序不太对,调整为了先clean compile 然后再shade

说明

实际上有不少开源项目也会使用到类似的方法(他们一般会使用maven api,进行依赖管理,对于实际执行一个命令会使用到类似上边的模式)

参考资料

 https://maven.apache.org/plugins/maven-shade-plugin/