noble4cc
V2EX  ›  Java

现在 springboot 都使用内置的 tomcat 还是打包成 war 用其他的 tomcat

  •  
  •   noble4cc · Jan 6, 2020 · 6528 views
    This topic created in 2500 days ago, the information mentioned may be changed or developed.

    哪种更方便些呢?

    31 replies  •  2020-01-10 23:37:16 +08:00
    sumarker
    sumarker
    Jan 6, 2020
    1
    论方便肯定是内置的 tomcat 直接 jar 包最方便了,启动 直接 java -jar

    替换直接整体替换.

    但是修改内容,就最好把他放在 外部的 tomcat 里.毕竟 jar 包修改也确实不是很方便
    Takamine
    Takamine
    Jan 6, 2020 via Android
    2
    内置的。(´▽`)ノ♪
    luozic
    luozic
    Jan 6, 2020
    3
    跑 CI/CD,只要项目内部统一,这部分脏活可以用脚本自动化解决。
    MeteorCat
    MeteorCat
    Jan 6, 2020 via Android
    4
    内置写 system 成服务,实际上我感觉公司也不管怎么启动,他们能跑起来就行........
    chendy
    chendy
    Jan 6, 2020
    5
    论方便肯定是 jar 包
    JerryX
    JerryX
    Jan 6, 2020
    6
    看吧,
    要是懒得研究 linux 注册 jar 成服务,就打 war,并且可以避免由于 resultType 没有写全限定名导致可能出现的问题(详情可以了解一下 mybatis-spring-boot-starter);
    打 jar 的话反正就是方便维护嘛,也可以直接扔到 docker 这种容器里。
    看你爱不爱折腾了
    ARhen
    ARhen
    Jan 6, 2020
    7
    最近在改老项目的配置文件,发现放在外置的 tomcat 下我起码还能直接修改配置文件,或者直接替换某一个 class
    打成 jar 运行的话,有点无从下手了
    老项目我也不想这样搞,但是重新打包发布会导致出更多莫名的问题,尤其是不熟悉项目的时候。

    war、jar 无非就是看公司统一习惯
    optional
    optional
    Jan 6, 2020
    8
    fatjar
    GoRoad
    GoRoad
    Jan 6, 2020
    9
    有 cicd 的话 哪种都一样
    yinzhili
    yinzhili
    Jan 6, 2020❤️1
    10
    @ARhen 修改配置的这个问题很好解决,配置文件不要放到 jar 里面,所有的配置参数都放到单独的配置中心就好了
    zhchyu999
    zhchyu999
    Jan 6, 2020
    11
    用 systemd 启动没有带系统环境变量进去
    glaucus
    glaucus
    Jan 6, 2020❤️1
    12
    @ARhen #7 你可以把配置文件放到 jar 同一目录,我记得是优先加载的,后者就没办法了
    chenshun00
    chenshun00
    Jan 6, 2020
    13
    解压
    abcbuzhiming
    abcbuzhiming
    Jan 6, 2020
    14
    @ARhen 你不知道基于 spring boot 的 jar 包是可以用外置配置文件的吗
    HolmLoh
    HolmLoh
    Jan 6, 2020
    15
    这让我想起了我们公司有个老员工
    他平时发布项目,从本地 tomcat 用 root 登进去,
    HolmLoh
    HolmLoh
    Jan 6, 2020
    16
    还没写完,就不小心回复了 ...

    这让我想起了我们公司有个老员工
    他平时发布项目,从本地 tomcat 找项目,然后打 zip 包,用 root 登进去,解压重启
    问他为啥不打 war,或者直接用 spring 自带的,他回答说 Linux 可能识别不了 war 包,最好打 zip 包
    我:黑人问号.jpg
    glacial
    glacial
    Jan 6, 2020
    17
    @HolmLoh 你得问他知不知道什么是 war 包
    HolmLoh
    HolmLoh
    Jan 6, 2020
    18
    @glacial #17
    难说
    前两天过完年假回来,发现我测试环境的项目没了,问另一个同事怎么回事,才知道原来他在 tomcat 跑的时候把 war 全给删了
    还好不是生产
    refkent
    refkent
    Jan 7, 2020
    19
    用 jetty jar 2333
    thinkmore
    thinkmore
    Jan 7, 2020
    20
    我们用的内置的,直接上 kuberetes,爽歪歪
    zhenjiachen
    zhenjiachen
    Jan 7, 2020
    21
    推荐 docker 加 google 的 jib 打包插件,速度很快
    Aresxue
    Aresxue
    Jan 8, 2020
    22
    @ARhen jar 的话可以直接用 vim 修改的,而且本身 spring 也提供了配置文件外置的方式(个人觉得不好用), 配置这块最好还是使用专业的配置中心,也有利于配置的复用和管理,比如阿里的 nacos
    ARhen
    ARhen
    Jan 8, 2020
    23
    @abcbuzhiming 嗯嗯,这个之前还真不知道
    @Aresxue 昨天刚看了 nacos 的部分视频,只了解它可以作为 rpc 远程调用,查询服务名,方便绑定和修改调用的 ip 和端口
    还不知道它可以代替直接读取 application.properties。那有一个 apollo 配置中心也是类似的嘛?
    ARhen
    ARhen
    Jan 8, 2020
    24
    @HolmLoh 我现在还是用的这种方式,只不过是打的 war,每个项目一个 tomcat,然后放入对应的 tomcat 里面。
    然后./bin/start.sh 启动
    HolmLoh
    HolmLoh
    Jan 8, 2020
    25
    @ARhen #24
    没有觉得这种方式发布有啥问题,主要是作为一个工作好几年的人来说,不认识 war 包实在不应该..
    Aresxue
    Aresxue
    Jan 8, 2020
    26
    @ARhen 对的,比较适合分布式架构,集中管理配置文件,还可以实现一些开关值的动态刷新(数据库连接这种不会重新建立)
    ARhen
    ARhen
    Jan 8, 2020
    27
    @HolmLoh 嗯,我没用过 zip 这种,war 包放进去,tomcat 启动不久自动解压了?

    @Aresxue 我去试试,不过看到资料都是结合 SpringCloud 的,我试试结合 SpringBoot
    HolmLoh
    HolmLoh
    Jan 8, 2020
    28
    @ARhen #27
    是啊,tomcat 启动的时候如果丢 war 包进去会自动解压的
    chihiro2014
    chihiro2014
    Jan 9, 2020
    29
    看公司吧,个人习惯还是打包 jar。war 都没什么人用了
    KentY
    KentY
    Jan 10, 2020
    30
    我们这个项目是 170 多个 springboot apps, 用的 openshift, 根本不打 jar/war
    KentY
    KentY
    Jan 10, 2020
    31
    说的不对.. 其实也打, jenkins 打 jar, 直接 push 到 oc
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2097 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 81ms · UTC 00:09 · PVG 08:09 · LAX 16:09 · JFK 19:09
    ♥ Do have faith in what you're doing.