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

SpringToolSuite 4在macOS 11 Big Sur启动报错,寻求有效OSGi清理方案

解决方案建议

首先得说清楚,这个错误的核心是JNA生成的临时库和你的Apple Silicon(aarch64)架构不匹配,和OSGi clean的关系其实不大——虽然你已经成功传入了clean参数,但问题根源是JNA的缓存文件是为x86_64架构生成的,现在在arm机器上没法加载。

给你几个针对性的解决步骤,按优先级来:

1. 彻底清理JNA缓存(首选方案)

直接删掉JNA的缓存目录,这是最直接解决架构不匹配的办法:

rm -rf ~/Library/Caches/JNA/

删除之后重启STS4,JNA会重新生成适配aarch64架构的临时库文件,应该就能解决这个错误了。

2. 强制STS4使用Rosetta 2运行(临时 workaround)

如果清理缓存后还是有问题,可以尝试让STS4以x86_64架构运行:

  • 找到/Applications/SpringToolSuite4.app,右键选择「显示简介」
  • 勾选「使用Rosetta打开」
  • 重启STS4

不过这只是临时方案,毕竟你用的是原生aarch64的JDK,优先建议用第一种方法。

3. 其他OSGi清理方式(如果之后需要的话)

虽然当前问题不是OSGi缓存导致的,但如果之后你需要做更深的OSGi清理,除了传入-clean参数,还可以试试:

  • 删除STS工作区的缓存:找到你的STS工作区,删除.metadata/.plugins/org.eclipse.core.runtime/.cache目录
  • 重置STS的配置:删除~/Library/Application Support/SpringToolSuite4目录(注意备份你自己的重要配置)

另外补充一句:你提到无法修改ini文件,其实如果之后真的需要修改的话,可以右键STS4.app选择「显示包内容」,然后找到Contents/Eclipse/SpringToolSuite4.ini,用文本编辑器修改就行——只要不是修改系统级的保护文件,macOS不会限制操作的。不过当前问题确实不需要修改ini,先清理JNA缓存就好。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 15:48:11