Java 项目升级 碰到一个奇怪的问题。(hibernate) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
helee9199
V2EX    程序员

Java 项目升级 碰到一个奇怪的问题。(hibernate)

  •  
  •   helee9199 2022-12-09 19:54:27 +08:00 3231 次点击
    这是一个创建于 1036 天前的主题,其中的信息可能已经有所发展或是发生改变。

    java 1.6 的 ie 项目 终于升级 1.8 chrome 了。
    搞了半天升级 spring hibernate 等相关配置,终于把项目跑起来了。
    可是回到家,用 mac 电脑却跑不起来。
    报 java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava/util/Map;
    又远程回公司的 win 电脑 跑起来没问题。
    就邪门了 和底层 jdk 有关么?
    mac 是 m1 芯片 用的 zulu openjdk8
    搜这个报错 说是升级 hibernate 就好了
    可是我就是升级到 5.6.9 了
    且 win 下是好的 mac 下就跑不起来 。
    愁唉。

    第 1 条附言    2022-12-09 20:50:29 +08:00
    https://sm.ms/image/GxTBRvy9nb2ZWeC
    附上 debug 图
    发现这个 getproperties 是有值的 只是不知道为什么在 mac 下有问题
    可能真的是底层的什么 bug 吧
    17 条回复    2022-12-12 14:14:10 +08:00
    xuhaoyangx
        1
    xuhaoyangx  
       2022-12-09 20:08:10 +08:00
    jdk 1.8 直接用 Intel 的,转译使用
    helee9199
        2
    helee9199  
    OP
       2022-12-09 20:58:29 +08:00
    @xuhaoyangx 还能这样么?
    不过我刚刚想排除一下第三方 jdk 的问题,安装了 oracle 的 jdk17 发现还是一样报错
    可能真得是 m1 芯片的问题吧
    jorneyr
        3
    jorneyr  
       2022-12-09 20:58:41 +08:00
    有些类在 Windows 上 JDK8 有,在 Mac zulu JDK8 没有,我也遇到过,例如 javafx.util.Pair 这个类没有。
    helee9199
        4
    helee9199  
    OP
       2022-12-09 21:09:17 +08:00
    @jorneyr 我尝试用 oracle 的 jdk17 没想到 也是不行。。。
    Hurriance
        5
    Hurriance  
       2022-12-09 23:11:20 +08:00 via iPhone
    用 Oracle 的 jdk1.8 也不行吗
    night98
        6
    night98  
       2022-12-10 03:03:52 +08:00
    用 oracle 的 jdk17 ????? jdk9 干掉了一堆类,jdk17 就更别说了
    kran
        7
    kran  
       2022-12-10 05:44:48 +08:00 via Android
    尝试在无错环境看一下入参的实际类型
    zeni123
        8
    zeni123  
       2022-12-10 07:33:17 +08:00 via iPhone
    NoSuchMethodError 看看这个 SessionFactoryImplementor 类有没有 getProperties()Ljava/util/Map;这个方法
    cnzjl
        9
    cnzjl  
       2022-12-10 08:27:52 +08:00
    你 debug 图中的类和异常信息的类不一致呀
    sinibazhang
        10
    sinibazhang  
       2022-12-10 10:37:22 +08:00
    @jorneyr zulu jdk 应该是有 javafx 版本的
    lei2j
        11
    lei2j  
       2022-12-10 11:57:07 +08:00 via Android
    debug 图与描述不太相关啊,不是应该看 SessionFactoryImplementor 有没有 getProperties 方法吗,项目中搜索这个类及对应方法再看看有没有
    cvooc
        12
    cvooc  
       2022-12-10 11:59:55 +08:00
    恭喜升级, 要不考虑更进一步升个 JDK11?
    hqs0417
        13
    hqs0417  
       2022-12-10 14:04:42 +08:00
    这种问题一般是 jar 包冲突,也就是一个类在存在多个 jar 。
    类加载器在 windows ,linux ,mac 由于文件系统不同,加载顺序不同,可能在 linux 下可以工作,但是在 mac 下无法正常工作。
    排查思路,找 org.hibernate.engine.spi.SessionFactoryImplementor 是否存在多个 jar 中,应该一个有该方法一个没有。排掉哪个
    Macolor21
        14
    Macolor21  
       2022-12-12 08:47:05 +08:00 via iPhone
    NoXxxFound 一般是依赖冲突,window 没更新可能是依赖没更新,mvn clean 再 package 试下。

    或者代理对象被序列化,反序列化之后出现的问题
    helee9199
        15
    helee9199  
    OP
       2022-12-12 14:11:35 +08:00
    @night98 额 因为 win 下正常 mac 下不行 ,我以为是非 oracle jdk 的问题, m1 芯片目前也就 17 有 oracle 的。
    helee9199
        16
    helee9199  
    OP
       2022-12-12 14:12:17 +08:00
    @retrocode 其实对我们来说 8 11 或者 17 只要不是 6.就没啥区别。
    helee9199
        17
    helee9199  
    OP
       2022-12-12 14:14:10 +08:00
    @cnzjl
    @lei2j
    恩 我是想表达 这里 getpropties 报红。但是下面实际上是有 propties 的值的
    alt+u 的话 getpropties 也是有返回值的,但是不知道为何程序就是会报无此方法。
    还有就是比较重要的一点是 我前面提了 win 下正常 mac 下有问题, 所以我怀疑是芯片 或者是 jdk 存在什么差异
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2223 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 16:05 PVG 00:05 LAX 09:05 JFK 12:05
    Do have faith in what you're doing.
    ubao 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