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

M1 pro 打包的 Jar 在 x86 的机器上跑会有问题吗

  •  
  •   Goalonez · 2023-10-13 15:54:49 +08:00 · 582 次点击
    这是一个创建于 434 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前有一个场景因为网络问题.是本地 M1 pro(zulu jdk)打包出 Jar 包,然后通过本地 DockerFile(openjdk)创建出 Docker 镜像,通过 save 持久化镜像之后丢到服务器(x86)上去加载出来,然后运行 docker 镜像.

    这种情况下,项目会因为架构问题出现什么异常吗?
    6 条回复    2023-10-14 12:51:54 +08:00
    Dachunlv
        1
    Dachunlv  
       2023-10-13 15:58:01 +08:00
    会有问题,JDK 和 Docker 本身就有 arm 和 x86 两种版本的适配软件,打包出来的文件也只能在对应架构的系统上运行
    liprais
        2
    liprais  
       2023-10-13 15:59:33 +08:00
    jar 包没问题,我这么跑了快三年了
    你的 docker 镜像记得 arch 设置成 x86
    oneisall8955
        3
    oneisall8955  
       2023-10-13 15:59:45 +08:00 via Android
    dockerfile 指定 x86 jdk 的镜像就行了
    liprais
        4
    liprais  
       2023-10-13 16:00:21 +08:00
    @liprais 不过如果你的 jar 里面带的有 native code 也是不行的,比如 protobuf...
    wpyfawkes
        5
    wpyfawkes  
       2023-10-13 16:01:49 +08:00
    Jar 包里如果是纯 Java 代码就没问题
    julyclyde
        6
    julyclyde  
       2023-10-14 12:51:54 +08:00
    @Dachunlv compile once 这句话你没听说过?
    虽然是 debug everywhere 吧,但毕竟不是 cross compile everywhere
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2784 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 03:26 · PVG 11:26 · LAX 19:26 · JFK 22:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.