我正试着在一只倒霉的树莓派上飞跑。我已经正确地下载并链接了程序,但是当我尝试运行它(迁移、-version等等)时,它失败了,并显示错误消息/usr/local/bin/flyway: line 72: /home/pi/flyway-6.3.1/jre/bin/java: cannot execute binary file: Exec format error。我已经在网上搜索了一段时间,但没有找到任何类似错误的案例。我猜这与系统架构有关,但是是我搞砸了,还是有什么变通办法?
uname -a
Linux raspberrypi 4.19.75-v7+ #1270 SMP Tue Sep 24 18:45:11 BST 2019 armv7l GNU/Linux谢谢!
发布于 2020-03-25 08:02:29
您认为这是一个架构问题,这是完全正确的。您拥有的jre/bin/java文件是针对x86-64 (一种现代的英特尔或AMD台式机/服务器处理器)编译的,并且您的系统是armv71。因此,您将无法运行不正确版本的JVM。
下一个问题是如何在您的机器上安装错误的jre。你是怎么安装的?你说“连接程序”是什么意思?
回答你更广泛的问题,你搞砸了吗?可能不会。Java为arm架构而存在。这就变成了一个问题,那就是你到底需要哪个版本的Java,并正确地设置它。这可能需要一些时间。您应该为arm架构支持创建一个issue/feature request。(如果他们从来没有这样做过,不要感到惊讶)他们假设您将使用this这行代码
我推荐使用virtual box和Ubuntu作为数据库迁移工具。如果您真的需要在嵌入式环境中运行此工具,我将非常乐意。Virtual box会让你设置一台x86-64的linux机器,并用图形界面下载,然后你就可以在上面设置flyway了。
让我们知道你的计划。
https://stackoverflow.com/questions/60780368
复制相似问题