V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
dcsuibian
V2EX  ›  问与答

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

  •  
  •   dcsuibian · 2022-03-12 14:49:44 +08:00 · 1941 次点击
    这是一个创建于 747 天前的主题,其中的信息可能已经有所发展或是发生改变。

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