写了款帮助 spring boot 启动的 maven 插件 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
yoqu
V2EX    分享创造

写了款帮助 spring boot 启动的 maven 插件

  •  
  •   yoqu 2019-10-17 17:27:09 +08:00 2746 次点击
    这是一个创建于 2187 天前的主题,其中的信息可能已经有所发展或是发生改变。

    随着 spring boot 的快速发展,现在一个服务的的部署方式越来越简单,轻松,特别是微服务的兴起,docker 容器化。使得 spring boot 的 jar 运行优势越来越大仅需使用java -jar xxx.jar即可启动。 但同时,对于传统企业和公司,未引入 docker 容器化的部署方案,又想使用 jar 包独立启动会遇到以下几个问题

    1. 对于需要自定义 jvm 参数或者后台挂起等需求需要手动写脚本(每次控制台写太累了)
    2. jar 内的配置文件修改异常麻烦(有时需要运维做维护配置,假设你的配置有问题,还需要重新打包,遇到龟速网络拷包太浪费时间了)
    3. 一台服务器有多个微服务运行,不知道某个进程是什么服务(通过端口检查也知道,不过这好像有点麻烦)。

    综上,这款小工具通过预置项目启动、停止、重启脚本。用户在编译后生成的部署包运维只需两行命令即可运行。

    1. unzip xxx.war
    2. sh xxx/bin/start.sh

    开源这款小工具解放下大家双手吧,希望有这种需求的同学不需要造轮子了,直接拿去改改就完事。

    Maven Plugin Stater

    支持特性

    • 自动在打包过程中生成启动脚本
    • 无入侵,用户在代码中无感知
    • 支持 jvm 参数自定义配置
    • 支持个性化启动类查找
    • 支持 remote debug,jmx
    • jps 命令可显示服务名称*(妈妈再也不用担心我的进程是什么服务啦)*
    6 条回复    2019-10-19 15:32:24 +08:00
    zhaojun1998
        1
    zhaojun1998  
       2019-10-17 18:40:00 +08:00
    挺好的,支持。
    Mogugugugu
        2
    Mogugugugu  
       2019-10-17 19:55:55 +08:00
    挺好的、很实用、但是看到老哥你这个写死的时区就上头了、、、
    yoqu
        3
    yoqu  
    OP
       2019-10-18 10:22:03 +08:00
    @Mogugugugu 哈哈,这个参数可以在 pom 文件里面通过自定义 jvm 参数配置的,只是默认用东 8 区
    yoqu
        4
    yoqu  
    OP
       2019-10-18 10:38:09 +08:00
    觉得有用的朋友希望能提提意见,一起完善这款简单的工具
    sutra
        5
    sutra  
       2019-10-18 14:17:27 +08:00
    我用的 commons-daemon 来启动的,然后做了个 FreeBSD 的 rc 脚本模板: https://github.com/sutra/spring-boot-daemon
    yoqu
        6
    yoqu  
    OP
       2019-10-19 15:32:24 +08:00
    @sutra 看了下,代码实现你那边通过继承来玩的,最终生成出来的执行效果时一样的。[呲牙]
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3530 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 05:01 PVG 13:01 LAX 22:01 JFK 01:01
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86