V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hahaFck
V2EX  ›  程序员

Java 项目,注解生成类的 Java 文件怎么版本控制?例如 mapstruct

  •  
  •   hahaFck · 2022-05-19 14:26:26 +08:00 · 1330 次点击
    这是一个创建于 952 天前的主题,其中的信息可能已经有所发展或是发生改变。

    迫于想改掉项目代码里一直用 map 操作的习惯,现在想用 mapstruct 来对 map 和 pojo 的相互转换,但是遇到个问题,mapstruct 是在编译的时候产生的代码,现在有个问题是这部分代码我想在 cvs 里面版本管理,因为更新代码方式是本地编译 class 文件(不是打包,只更新修改的 class ),在拷贝到服务器上去替换,这有什么好的方法么?

    如果没有版本管理,就知道去 classes 下面去找了文件了,散落在各个包里,不方便找啊。

    第 1 条附言  ·  2022-05-19 15:02:02 +08:00
    maven 编译时,生成的代码都放到 generated-sources 目录下了,有什么办法能生成一个 generated-classes 目录么,把相应的 class 文件放进去,这样 copy 的时候也方便点。
    6 条回复    2022-05-20 11:32:13 +08:00
    MonkeyCoder
        1
    MonkeyCoder  
       2022-05-19 14:43:36 +08:00
    好像没啥好办法.你如果有更新 mapstruct 的转换接口那就重新编译一编,把编译后的 class 文件替换上去吧
    aguesuka
        2
    aguesuka  
       2022-05-19 17:03:29 +08:00
    你需要的是 ci/cd, 不行就 diff + 管道操作打增量包
    seanzxx
        3
    seanzxx  
       2022-05-20 00:36:12 +08:00 via iPhone
    同意楼上的,你需要的是 ci/cd ,本地 build ,复制 classes 文件到服务器的方式听着就不靠谱,发布流程最好不要手动参与,很容易出问题
    hahaFck
        4
    hahaFck  
    OP
       2022-05-20 08:30:07 +08:00
    @seanzxx
    @aguesuka
    目前做不到,代码服务器在公司内网,项目部署在客户的内网。
    ruanimal
        5
    ruanimal  
       2022-05-20 09:50:15 +08:00
    @hahaFck 用 docker 部署吧
    nothingistrue
        6
    nothingistrue  
       2022-05-20 11:32:13 +08:00
    新项目请用 Jar/War 包部署,代替 War 文件夹部署。老项目,就这样吧,不动是最好的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5666 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 03:08 · PVG 11:08 · LAX 19:08 · JFK 22:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.