有没有直接的方法把依赖的第三方 jar 库直接编译到我的 jar 中?

2020-04-02 13:23:00 +08:00
 howellz

我有一个 jar 文件需要 release 给用户,这个 jar 依赖于一些第三方的库,比如:

okhttp
json

为了简化 release 的过程,我希望把这些第三方 package 直接放到我的 jar 文件中,这样无需 release 一堆 jar 文件给用户,以及配置 classpath 。

在网上搜索了一圈,看到了将 jar 文件 unzip 然后再一起 zip 的方法(我没有验证过是否真的可行,但是从原理上应该没啥问题),但是我想问一下有没有更加直接的方法,比如 gradle 或者 maven 直接可以配置好的,这样无需我写一堆脚本来 unzip/zip 这些文件了。

1990 次点击
所在节点    Java
5 条回复
tt0411
2020-04-02 13:31:07 +08:00
搜索 maven-shade-plugin
j2gg0s
2020-04-02 13:41:10 +08:00
fatjar
fzhyzamt
2020-04-02 14:03:02 +08:00
spring-boot 就是这么做的,用的楼上说的 fatjar
howellz
2020-04-02 17:24:36 +08:00
@tt0411 @j2gg0s 谢谢各位。我试一下。
0xZhangKe
2020-04-02 18:39:36 +08:00
proguard 好像可以

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/658621

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX