Goalonez
V2EX  ›  问与答

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

  •  
  •   Goalonez · Oct 13, 2023 · 983 views
    This topic created in 972 days ago, the information mentioned may be changed or developed.
    目前有一个场景因为网络问题.是本地 M1 pro(zulu jdk)打包出 Jar 包,然后通过本地 DockerFile(openjdk)创建出 Docker 镜像,通过 save 持久化镜像之后丢到服务器(x86)上去加载出来,然后运行 docker 镜像.

    这种情况下,项目会因为架构问题出现什么异常吗?
    6 replies    2023-10-14 12:51:54 +08:00
    Dachunlv
        1
    Dachunlv  
       Oct 13, 2023
    会有问题,JDK 和 Docker 本身就有 arm 和 x86 两种版本的适配软件,打包出来的文件也只能在对应架构的系统上运行
    F281M6Dh8DXpD1g2
        2
    F281M6Dh8DXpD1g2  
       Oct 13, 2023
    jar 包没问题,我这么跑了快三年了
    你的 docker 镜像记得 arch 设置成 x86
    itechify
        3
    itechify  
    PRO
       Oct 13, 2023 via Android
    dockerfile 指定 x86 jdk 的镜像就行了
    F281M6Dh8DXpD1g2
        4
    F281M6Dh8DXpD1g2  
       Oct 13, 2023
    @liprais 不过如果你的 jar 里面带的有 native code 也是不行的,比如 protobuf...
    wpyfawkes
        5
    wpyfawkes  
       Oct 13, 2023
    Jar 包里如果是纯 Java 代码就没问题
    julyclyde
        6
    julyclyde  
       Oct 14, 2023
    @Dachunlv compile once 这句话你没听说过?
    虽然是 debug everywhere 吧,但毕竟不是 cross compile everywhere
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3520 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 10:35 · PVG 18:35 · LAX 03:35 · JFK 06:35
    ♥ Do have faith in what you're doing.