You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M2 MacBook上JUnit测试Hoverfly启动失败(IllegalStateException)

解决M2 MacBook上JUnit测试启动Hoverfly失败的问题

问题根源

报错Bad CPU type in executable明确说明:当前下载的Hoverfly二进制文件是x86_64(amd64)架构,但M2 MacBook采用的是Apple Silicon(arm64)架构,两种架构的可执行文件不兼容,导致无法启动Hoverfly进程。

解决方案

1. 升级Hoverfly Java库版本

确保项目中使用的hoverfly-java依赖版本 >= 0.14.0(该版本开始支持Apple Silicon架构的自动下载)。如果使用Maven,更新pom.xml中的依赖:

<dependency>
    <groupId>io.specto</groupId>
    <artifactId>hoverfly-java</artifactId>
    <version>最新兼容版本</version>
    <scope>test</scope>
</dependency>

2. 强制指定arm64架构下载

如果升级后仍自动下载amd64版本,在运行JUnit测试时添加JVM参数,强制指定下载arm64版本的Hoverfly:

# Maven运行测试时添加参数
mvn test -Dhoverfly.download.platform=OSX_arm64

# IDE中配置JVM参数
-Dhoverfly.download.platform=OSX_arm64

3. 手动替换二进制文件(备选)

  1. 下载对应arm64架构的Mac版本Hoverfly二进制文件;
  2. 找到测试运行时Hoverfly临时存放的目录(日志中显示的/var/folders/.../hoverfly.xxx/路径);
  3. 将下载的arm64版本二进制文件命名为hoverfly_OSX_arm64,替换原有的hoverfly_OSX_amd64文件。

4. 临时兼容方案:启用Rosetta 2

如果暂时无法升级依赖,可以安装Rosetta 2来兼容x86_64程序:

softwareupdate --install-rosetta

注意:这只是临时 workaround,长期建议使用原生支持arm64的版本。

内容的提问来源于stack exchange,提问作者JosephH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 04:15:09