V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiaoyureed
V2EX  ›  Java

代码生成

  •  
  •   xiaoyureed ·
    xiaoyureed · 2022-07-16 09:03:02 +08:00 · 3519 次点击
    这是一个创建于 860 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Java 里面借助模板引擎可以做代码生成的事情, 比如做 web 开发生成 crud api.

    我在用 ruoyi 框架, 每次生成完之后都需要手动拷贝生成的代码文件到合适的地方, 重启整个应用. 我在想能不能将这个过程自动化, 比如提供一个界面, 点击生成, 新生成的代码会插入到源码合适的位置, 自动编译打包重启, 过一会就可以访问新生成的 api.

    请问各位老哥, 有已经开源的框架吗

    16 条回复    2022-07-16 15:51:49 +08:00
    MEIerer
        1
    MEIerer  
       2022-07-16 09:04:44 +08:00
    我还以为是你做了个工具呢,我目前也想搞个类似 cli 工具那样的代码生成,一个一个写太累人了
    pocketz
        2
    pocketz  
       2022-07-16 09:22:35 +08:00
    什么叫:合适的位置
    xiaoyureed
        3
    xiaoyureed  
    OP
       2022-07-16 09:32:23 +08:00
    @pocketz 在 ruoyi 里头, 生成的代码里头有`package xxxx.xxx` , 固定好了位置, 得手动拷贝过去
    kidult
        4
    kidult  
       2022-07-16 09:36:59 +08:00
    你需要的是 CI 工具
    pocketz
        5
    pocketz  
       2022-07-16 09:56:08 +08:00
    @xiaoyureed 我记得若依生成的代码压缩包是有文件夹层次的,你不如写个脚本+ spring dev tool
    neptuno
        6
    neptuno  
       2022-07-16 10:08:22 +08:00 via iPhone
    @xiaoyureed #3 会出现代码写到一半,你修改了表结构,不小心重新生成覆盖的问题。到时候哭都来不及
    yeqizhang
        7
    yeqizhang  
       2022-07-16 10:24:09 +08:00 via Android
    若依好像可以生成代码到指定路径吧
    codehz
        8
    codehz  
       2022-07-16 10:25:41 +08:00 via iPhone
    我记得 gradle 可以指定源码读取的位置( maven 也可以)不需要手动复制)
    ma836323493
        9
    ma836323493  
       2022-07-16 10:35:02 +08:00
    自己去改生成代码的源码就行了,我改了生成到指定文件,顺带把 加菜单的 sql 也执行了
    ming159
        10
    ming159  
       2022-07-16 11:05:35 +08:00
    你可以看看 JeecgBoot ... 功能更强一点.
    另外你可以将生成代码的路径直接指向源码目录,然后配合 JRebel 这种热更新的工具就能达到你期望的目标.

    当然生成的代码的目录结构与源码目录结构可能不同,这时候你可以自己搞个目录监控,将生成的源码自动拷贝到源码对应的目录下即可.
    ericls
        11
    ericls  
       2022-07-16 11:07:15 +08:00 via iPhone
    谁生成 谁维护
    aguesuka
        12
    aguesuka  
       2022-07-16 11:48:43 +08:00
    关键字 generated-sources, 复制到源目录不是好办法
    siweipancc
        13
    siweipancc  
       2022-07-16 11:54:41 +08:00 via iPhone
    ……用过半成品,老总要求的低代码平台,交了 2w 的学费,浪费双方生命
    summerLast
        14
    summerLast  
       2022-07-16 12:00:03 +08:00
    输出流的的输出位置调整一下即可
    ljsh093
        15
    ljsh093  
       2022-07-16 13:31:04 +08:00
    好像可以搞 groovy 脚本
    Jtyczc
        16
    Jtyczc  
       2022-07-16 15:51:49 +08:00
    easy code 插件
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1236 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:00 · PVG 02:00 · LAX 10:00 · JFK 13:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.