Spring Boot Web 项目转 Windows 客户端程序,求工具、建议 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dcsuibian
V2EX    问与答

Spring Boot Web 项目转 Windows 客户端程序,求工具、建议

  •  
  •   dcsuibian 2022 年 3 月 12 日 2657 次点击
    这是一个创建于 1424 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前制作的一个 Java Web 项目,java -jar 配合外部application.yml就能直接运行了。

    但客户希望能更接近传统的桌面程序 exe ,同时也更好配置。

    大概步骤如下:

    1. 用户点击安装包,跳出如下界面,基本上就是指定程序安装位置和创建快捷方式

    img

    1. 点击对应的快捷方式,跳出另一个代理程序,由这个代理程序更改application.yml中的配置,运行java -jar命令这样。

    思路是有了,但具体来说还不知道怎么做。

    因此来这里问问,有没有想关的工具(轮子)、建议,或者有没有大佬之前做过的类似的东西,作为参考。

    感谢。

    14 条回复    2022-03-13 17:47:54 +08:00
    dcsuibian
        1
    dcsuibian  
    OP
       2022 年 3 月 12 日
    补充:
    1 、安装包这部分主要就是复制文件,不涉及具体配置。
    2 、java 程序需要长时间运行,最好能弄成服务(之前有用过 winsw )
    3 、第 2 个代理程序与业务结合比较深,目前在 swing 和 C#中考虑。(其实比较偏向于后者,做 GUI 更容易,和 windows 结合好。但 dotnet 接触不多,怕踩坑)
    hay0577
        2
    hay0577  
       2022 年 3 月 12 日 via iPhone   1
    有个 jar 转 exe 的工具
    litchinn
        3
    litchinn  
       2022 年 3 月 12 日   1
    exe4j 不知道是不是你想要的
    levon
        4
    levon  
       2022 年 3 月 12 日   1
    你截图的软件就可以用啊,我之前有弄过,没问题的
    kytrun
        5
    kytrun  
       2022 年 3 月 12 日   1
    之前试过 Inno Setup ,记录了一下: https://kytrun.com/spring-boot-exe-package/
    forgottencoast
        6
    forgottencoast  
       2022 年 3 月 12 日   1
    用.Net Framework ,做成一个服务+一个托盘程序可以修改配置,打开主页。
    没有什么坑,这都是简单需求。
    安装程序都不用做,直接把.Net 编译出来的程序放在一起做成一个 zip 包,解压以后叫客户双击.Net 的 exe 就可以了。
    gumusu
        7
    gumusu  
       2022 年 3 月 12 日 via Android
    用过 jpackage 打包 javafx 程序,在 javafx 程序中内嵌了 spring boot 做的 web 服务,还可以,实现简单的需求勉强能用
    dcsuibian
        8
    dcsuibian  
    OP
       2022 年 3 月 12 日
    @hay313955795
    @litchinn
    一开始其实是想 exe4j 包上 jre 双击直接运行的。
    但后来想想直接变成 exe 用处不大,因为还是偏命令行的程序,持续运行的话得一直开着那个大黑窗口。想要提供 GUI ,就得用 swing ,又会对原来的代码结构产生影响。
    所以后来才考虑改成分体的,类似于 docker service 和 docker desktop 那种。
    dcsuibian
        9
    dcsuibian  
    OP
       2022 年 3 月 12 日
    @levon
    @kytrun
    哦哦,我去看看,之前只是搜资料的时候随便截张图,没管它是啥
    dcsuibian
        10
    dcsuibian  
    OP
       2022 年 3 月 12 日
    @forgottencoast 对的,就是这样的需求。但对.net 不熟,大佬有什么相关的资料可以介绍下吗?
    cslive
        11
    cslive  
       2022 年 3 月 12 日
    参考 idea
    forgottencoast
        12
    forgottencoast  
       2022 年 3 月 12 日
    @dcsuibian 你这需求简单,很常见的运行模式,你遇到具体的问题再搜索好了。
    playboy0
        13
    playboy0  
       2022 年 3 月 13 日
    @gumusu 老哥有具体点的文章吗,希望多介绍介绍,谢谢你~
    nananqujava
        14
    nananqujava  
       2022 年 3 月 13 日 via Android
    winform 做前端,java web 做后端,打包成一个安装包
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2614 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 00:45 PVG 08:45 LAX 16:45 JFK 19:45
    Do have faith in what you're doing.
    ubao msn 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