提问者:小点点

Mac 10.12.1上的STS.app总是在. eclipse中创建一个新的org.springsource.sts文件夹


我已经在我的Mac(10.12.1)上下载并安装了STS 3.8.2。每次启动STS.app文件时,它都会创建一个新的org. springsource。sts_3.8.2。释放_########_隐藏的.eclipse文件夹下的macosx_cocoa_x86_64文件夹(哈希在那里,因为我有许多相同的文件夹,哈希区域中的数字是唯一的区别)。这样做,默认工作区和我上次运行时安装的所有插件都会被清除(因为它们存在于以前的####文件夹中)。

我尝试过安装之前的3.8.1和3.8.0版本,但它们正在做同样的事情。我之前的STS安装从3.7开始,已经升级到3.8.1,但不会再更新,因为我似乎无法修复更新错误(StackOverflow的“修复”对我都不起作用)。

有没有办法让STS每次启动时都不会在. eclipse文件夹中创建新文件夹(实例)?如果是,如何?


共2个答案

匿名用户

这已经报告给STS,并记录在这里:https://issuetracker.springsource.com/browse/STS-4406

Eclipse对应的bug是:https://bugs.eclipse.org/bugs/show_bug.cgi?id=507328

长话短说:

这是由macOS Sierra Gategger应用程序易位引起的,这是一种出于安全原因将应用程序移动到私有只读位置的安全功能。因此,Eclipse/STS在您上面描述的位置为其配置创建了一个文件夹。

由于macOS Sierra在每次重新启动后都会再次进行应用程序迁移,因此Eclipse/STS不再了解“旧”配置区域,而是创建了一个新区域。据我所见,Eclipse/STS无法区分单独安装和新迁移的应用程序…:-(

解决方法是:

>

  • A)解压tar. gz存档后(使用Finder,而不是命令行)将STS.app移动到磁盘上的不同位置。例如,如果您将其移动到“应用程序”,一切都像以前一样工作(在这种情况下不会发生应用程序迁移)。

    B)您也可以通过单击可执行文件(STS.app/Contents/MacOS)来启动Eclipse/STS。这也不会导致应用程序易位,因此一切都很好。

  • 匿名用户

    因为这bug-

    使用命令

    sudo xattr-r-dcom.apple隔离 /Applications/sts.app

    其中-r使命令对所有应用程序内容(macOS应用程序是文件夹)递归,并且-d删除给定路径处的特定属性。

    要验证成功的结果,只需运行

    sudo xattr /Applications/sts.app

    你想要的成功结果是一个新的提示行。如果你在那里得到“隔离”,你就没有成功。

    请注意,我只能在macOS 10.12.6中测试它