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

macOS M1运行Eclipse Application提示Could not load SWT library错误

问题根因

报错核心是架构不匹配:你用的是M1芯片(aarch64/arm64架构)的Mac,但启动插件测试环境时,SWT图形库错误尝试加载x86_64架构的原生动态库,自然加载失败抛UnsatisfiedLinkError。从日志能直接看到矛盾点:

  • 启动参数已经正确识别到设备架构为ARCH=aarch64
  • 但SWT实际搜索库的路径是/Users/peiqi/.swt/lib/macosx/x86_64/,全是x86版本的库,和M1架构完全不兼容
解决步骤

按顺序操作即可:

  • 第一步先确认基础环境正确:你安装的Eclipse必须是Apple Silicon/aarch64原生版本,不能是x86版本靠Rosetta转译运行的。如果装错了版本,直接删除后下载对应arm架构的安装包重装,这是所有后续操作的前提。
  • 清理历史错误缓存:
    1. 完全退出Eclipse
    2. 删除子运行环境工作空间:路径是/Users/peiqi/runtime-EclipseApplication(就是启动参数里指定的运行时数据目录)
    3. 删除SWT本地缓存目录:直接删掉/Users/peiqi/.swt/整个文件夹,清掉之前错误缓存的x86版本库文件
  • 调整运行配置:
    1. 重新打开Eclipse,点击顶部菜单栏Run -> Run Configurations
    2. 找到你启动HelloWorld插件用的Eclipse Application配置项,切换到Plug-ins标签页
    3. 在下方Target Platform的插件列表里,把所有带x86_64后缀的SWT相关插件全部取消勾选,只保留org.eclipse.swt.cocoa.macosx.aarch64这个arm64版本的SWT插件,版本号和你当前Eclipse 4.24版本匹配即可
    4. 切换到Arguments标签页,在VM arguments输入框末尾追加一行参数:-Dosgi.arch=aarch64,强制OSGi运行时按arm64架构加载原生库
  • 点击Apply保存配置,重新启动运行即可。
排错补充

如果按上面操作还是报错,就检查本地JDK架构是否正确:打开终端执行java -version,输出信息里如果出现x86_64就说明装的是x86版本JDK,卸载后换装aarch64版本的JDK 17即可,x86版JDK和arm版Eclipse混用也会触发架构冲突。

小提示:Eclipse 4.24是最早正式稳定支持Apple Silicon的版本之一,如果你用的是更早的版本,不用浪费时间调配置,直接升级到4.24及以上稳定版就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 11:06:20