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

gitlab CI/CD 流水线打包的问题

  •  
  •   zzfer · 2021-11-11 15:13:15 +08:00 · 2082 次点击
    这是一个创建于 1137 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用 CI/CD 流水线打的 jar 包,登录的时候,查询成功后,用户信息为 null 。但在自己本地打的 jar 就没有问题。有 v 友遇到过吗?

    第 1 条附言  ·  2021-11-15 15:19:42 +08:00
    新进展:gitlab 打的 jar ,打镜像,发布。不好使。
    gitlab 打的 jar 解压一下,用 jar -cfM0 xx.jar ./ 重新打成 jar 。好使了
    有人知道这是怎么回事吗
    第 2 条附言  ·  2022-03-03 14:53:30 +08:00
    是类加载顺序问题,不同服务器电脑文件顺序不一样导致的类加载顺序也不一样。修改方案是:强制限制加载顺序
    12 条回复    2021-11-15 15:31:18 +08:00
    AoEiuV020
        1
    AoEiuV020  
       2021-11-11 15:19:11 +08:00
    直接反编译检查呀,
    遇到过有那么一点点沾边的问题,不过我是安卓,排查发现是 CI 的 java 版本不同,导致脱糖功能异常进而导致各种问题,
    zzfer
        2
    zzfer  
    OP
       2021-11-11 16:30:34 +08:00
    @AoEiuV020 大佬,要检查的文件太多,只能一个一个对比吗? jdk 大版本都是 1.8 ,小版本有点不同
    AoEiuV020
        3
    AoEiuV020  
       2021-11-11 16:48:56 +08:00
    @zzfer #2 我意思是逆推回去,你说的用户信息为 null 断点看看总有个直接原因吧,从原因推原因的原因,总能查到是从哪个类的哪个方法开始数据出现异常的,定位到具体 class 说不定就能看出问题了,
    intmax2147483647
        4
    intmax2147483647  
       2021-11-11 17:17:18 +08:00
    都 CI/CD 了没用 docker 吗
    chendy
        5
    chendy  
       2021-11-11 17:20:30 +08:00
    构建命令用的啥,会在不同环境用不同的编译命令吗?
    配置文件写的啥,会在不同环境用不同的配置文件吗,是不是写错了?
    zzfer
        6
    zzfer  
    OP
       2021-11-11 17:32:21 +08:00
    @chendy 线上是 mvn -Dmaven.repo.local=${MAVEN_CACHE} clean install -Dmaven.test.skip=true
    本地是 mvn clean install -Dmaven.test.skip=true
    zzfer
        7
    zzfer  
    OP
       2021-11-11 17:33:11 +08:00
    @intmax2147483647 是 docker ,打完 jar 再打镜像
    chendy
        8
    chendy  
       2021-11-11 17:44:15 +08:00
    @zzfer 本地仓库里放的自己的包么?有的话检查两边用的是不是一样的版本,特别是 snapshot 的
    一样的话检查运行参数,是不是配错了啥
    其实就是个大家来找茬游戏。。。
    zzfer
        9
    zzfer  
    OP
       2021-11-11 18:22:52 +08:00
    @chendy 解压 jar 包对比,感觉最大可能是 maven 和 jdk 版本有点不同。
    CI: Maven 3.6.3
    Build-Jdk: 1.8.0_92
    Created-By: Apache Maven 3.3.9
    Build-Jdk: 1.8.0_261
    zzfer
        10
    zzfer  
    OP
       2021-11-11 18:23:16 +08:00
    @chendy 解压 jar 包对比,感觉最大可能是 maven 和 jdk 版本有点不同。
    CI: Maven 3.6.3
    Build-Jdk: 1.8.0_92
    本地: Maven 3.3.9
    Build-Jdk: 1.8.0_261
    defunct9
        11
    defunct9  
       2021-11-11 22:41:30 +08:00 via iPhone
    把 gitlab 换成 onedev
    zzfer
        12
    zzfer  
    OP
       2021-11-15 15:31:18 +08:00
    gitlab 打的 jar ,打镜像,发布。不好使。
    gitlab 打的 jar 解压一下,用 jar -cfM0 xx.jar ./ 重新打成 jar 。好使了

    @AoEiuV020
    @chendy
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1238 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 23:56 · PVG 07:56 · LAX 15:56 · JFK 18:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.