V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
howellz
V2EX  ›  Java

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

  •  
  •   howellz · 2020-04-02 13:23:00 +08:00 · 2069 次点击
    这是一个创建于 1698 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    okhttp
    json
    

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

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

    5 条回复    2020-04-02 18:39:36 +08:00
    tt0411
        1
    tt0411  
       2020-04-02 13:31:07 +08:00
    搜索 maven-shade-plugin
    j2gg0s
        2
    j2gg0s  
       2020-04-02 13:41:10 +08:00
    fatjar
    fzhyzamt
        3
    fzhyzamt  
       2020-04-02 14:03:02 +08:00
    spring-boot 就是这么做的,用的楼上说的 fatjar
    howellz
        4
    howellz  
    OP
       2020-04-02 17:24:36 +08:00
    @tt0411 @j2gg0s 谢谢各位。我试一下。
    0xZhangKe
        5
    0xZhangKe  
       2020-04-02 18:39:36 +08:00
    proguard 好像可以
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3592 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:13 · PVG 19:13 · LAX 03:13 · JFK 06:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.