maven 可运行 jar 包的打包,包含依赖 jar 包

几种打包方式如下:

  1. maven-dependency-plugin 复制依赖 jar 到 lib 目录,maven-jar-plugin 指定依赖 lib 目录,同时提供 lib 目录和 jar 才能运行
  2. maven-assembly-plugin、maven-shade-plugin 生成唯一一个 jar 包。jar 目录结构由 class文件 全类名决定 (逻辑结构),所以全部依赖 jar 会拆包,然后根据逻辑结构重组后打包。缺点是全部依赖  jar 拆包后,难免有重名、冲突等,风险不可控。
  3. onejar 生成唯一一个 jar ,不拆包,类加载器做了封装,类似于 spring boot打包方式。
原文地址:https://www.cnblogs.com/wudeyun/p/12950627.html