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

springboot 项目上线部署用 war 包还是 jar 包部署比较好?有没有具体的原因?

  •  
  •   zhuwd · 2020-04-02 09:48:25 +08:00 · 5351 次点击
    这是一个创建于 1705 天前的主题,其中的信息可能已经有所发展或是发生改变。
    15 条回复    2020-04-02 22:56:20 +08:00
    huntcool001
        1
    huntcool001  
       2020-04-02 09:54:26 +08:00
    有已有的 Tomcat 或者其他 servlet 容器,用 war. 否则用 jar. 就是打包方式有点不一样,没啥本质区别.
    oneisall8955
        2
    oneisall8955  
       2020-04-02 09:57:44 +08:00 via Android
    wongy
        3
    wongy  
       2020-04-02 10:21:40 +08:00
    appassembler-maven-plugin 打包 tar.gz
    比较喜欢这个的是因为解压后,文件夹 conf = resources
    比如在 resources 下放一些三方配置文件,是可以直接读取到的,如果用 jar 那就得新建一个目录来存放
    chendy
        4
    chendy  
       2020-04-02 10:24:22 +08:00
    如果有运维 tomcat 的经验,有相关脚本工具巴拉巴拉,就用 war,否则用 jar
    二楼的帖子里有人回用 docker,但是 docker 里不也是跑的 jar 或者 war 么…
    napsterwu
        5
    napsterwu  
       2020-04-02 11:55:56 +08:00 via iPhone
    有 jsp 就要用 war 否则的话随意。war 也可以用 java -jar 跑起来的
    julyclyde
        6
    julyclyde  
       2020-04-02 12:10:59 +08:00
    @chendy 回答用 docker 但不说明理由的,基本上都是不动脑的人
    hantsy
        7
    hantsy  
       2020-04-02 12:20:06 +08:00
    Thin Jar 吧,Spring 开发人员有开发相应的 Plugin 代替官方 Plugin 。将 Dependencies 和 应用 Jar 分开,比较适合容器部署,那种巨型 Jar 对于容器太扯蛋。不过 Spring Boot 2.3 开始内置 Build Docker 功能了,也是分层( Docker Layers )打包的思路。
    hantsy
        8
    hantsy  
       2020-04-02 12:20:46 +08:00
    @julyclyde 这个年代,还没有用 Docker 才是没脑子的人。
    hantsy
        9
    hantsy  
       2020-04-02 12:22:30 +08:00
    Spring Boot 的 Thin jar 使用,https://www.baeldung.com/spring-boot-thin-jar
    szq8014
        10
    szq8014  
       2020-04-02 12:29:26 +08:00
    thin jar ... 不如叫 "jar with dependencies aside"。。
    NeinChn
        11
    NeinChn  
       2020-04-02 12:46:14 +08:00
    Docker 跑 Java 坑那么多....
    我就没搞懂为什么 Docker 都出来这么多年了,在限制了 core 数量后,core 识别还是物理机核数
    cheng6563
        12
    cheng6563  
       2020-04-02 13:43:00 +08:00 via Android
    就我一个把 fatjar 解开部署的?
    julyclyde
        13
    julyclyde  
       2020-04-02 14:02:47 +08:00
    @hantsy 用也分用的好用的差啊。
    kkkkkrua
        14
    kkkkkrua  
       2020-04-02 17:37:31 +08:00
    @NeinChn #11 内存还要显示设置范围,不然吃的也是宿主机的内存。。
    qfdk
        15
    qfdk  
       2020-04-02 22:56:20 +08:00
    ‘Make JAR, not WAR.’ — Josh Long
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5480 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 03:50 · PVG 11:50 · LAX 19:50 · JFK 22:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.