我正在尝试创建一个独立的jar文件我不认为maven package
正确地将我的依赖项打包到包中。有没有办法强迫它包含它们?
答案 0 :(得分:6)
或者,您可以使用jar-with-dependencies的maven assembly plugin包装。
答案 1 :(得分:4)
您需要使用shade plugin。
默认情况下,maven构建并打包当前项目的编译输出。 shade插件允许您创建一个'超级'jar,它不仅包含您的代码,还包含所有依赖项,只包含一个(有时非常大)jar。
可选择允许您在打包阶段relocate classes,这意味着您的项目可以拥有其依赖项的完全私有副本,而不会陷入jar地狱。
答案 2 :(得分:0)
您可以找到有关如何使用maven程序集插件here的基本示例。
您只需克隆存储库
git clone git://github.com/db80/java-skeleton.git
并运行mvn package
cd java-skeleton && mvn package
答案 3 :(得分:0)
请检查此答案https://stackoverflow.com/a/35359756/5678086以创建包含所有依赖项的完整包