V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
yoqu
V2EX  ›  分享创造

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

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

    随着 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   ·   实用小工具   ·   1453 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:45 · PVG 00:45 · LAX 08:45 · JFK 11:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.