前言

对于这个问题,如果你确认文件没有损坏、文件权限正确、服务器位数和JDK位数一致,那么本文99.999999%可以解决你的问题。

一、问题现象

Java程序在自己的开发环境、测试环境,一切正常,启动命令如下:

nohup java -jar /app/xxx.jar >/dev/null 2>&1 &

某天,终于要在客户的生产环境进行部署了。一切都很愉快,现在万事俱备,只差启动了。

现在我们使用同样的命令来启动它。

啪。。。报错了。

一定是手抖打错了什么命令,重新检查一遍,再启动一次,走你。。。

啪。。。还是报错。

报错信息如下:

-bash: java: cannot execute binary file: Exec format error

二、问题分析

1、程序包有问题?

-bash: java: cannot execute binary file: Exec format error,以我的英语四级水平来看,这意思是二进制文件格式有问题,无法运行。难道Java代码打Jar包的时候出现了什么偶