静默更新 Equinox 启动器后,Eclipse 可执行启动器无法在共享驱动器上找到其配套共享库

The Eclipse executable launcher was unable to locate its companion shared library on shared drive after silently updating Equinox launcher

我将 Eclipse 安装在台式机和笔记本电脑之间的可移动驱动器上。我有一个很久以前通过解压缩文件安装的旧安装 (Mars)。我使用新的 Eclipse 安装程序安装了较新的安装 (Neon)。

将我的两台计算机升级到 Windows 10 周年纪念版后,当驱动器连接到桌面计算机时,两个 Eclipse 安装都可以继续工作。然而,当我将驱动器连接到笔记本电脑时,新的 Eclipse 安装(Neon---使用安装程序安装的那个)不会启动并显示:

The Eclipse executable launcher was unable to locate its companion shared library.

但是旧安装(Mars---通过解压缩存档安装的那个)仍然运行良好。

在笔记本电脑上安装 Neon 有什么问题,我该如何解决?

更新: 我查看了 eclipse.ini 文件,其中有一个 --launcher.libraryC:/Users/user/.p2/pool/plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.400.v20160518-1444 的引用。笔记本电脑(出现故障)只有 org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.300.v20150602-1417。但是桌面(它正在工作的地方)同时具有 org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.300.v20150602-1417org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.400.v20160518-1444.

因此,当驱动器连接到桌面时,Eclipse 可能以某种方式更新了它的 Equinox 启动器。然后,当我将驱动器连接到笔记本电脑时,它引用了更新的启动器插件,但笔记本电脑没有更新的启动器。

这是一壶好鱼。我不知道 Eclipse 在 Eclipse 安装目录之外的用户目录中安装东西。我想这是这个新式启动器的缺点之一:无法在共享驱动器上使用 Eclipse。

如何让 Eclipse 将启动程序安装在共享驱动器上而不是系统用户主目录中?如果我直接从 zip 文件安装,是否可以完全避免这种情况? Eclipse 是如何在我不知情的情况下首先更新这个启动器的?

Update:现在我看到Eclipse还在localplugins目录下安装了一个org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar(也就是说,相对于驱动器上的可执行文件)。为什么 Eclipse 将一些东西放在与可执行文件相关的可移动驱动器上(它们应该如此),而将其他东西放在系统用户目录中(我不想要它们)?这是一团糟。就像我十多年来所做的那样拥有一个独立的 Eclipse 安装。

默认情况下,Eclipse 安装程序确实使用共享 "bundle pool",因此如果您有多个不同的 Eclipse 实例 运行,它们使用的各种插件只会下载一次。这通常可以节省网络带宽和磁盘 space。 但是,如果安装和捆绑池位于不同的驱动器上(尤其是其中一个由多台机器共享时),则该捆绑池可能无法正常工作。您可以向 http://bugs.eclipse.org 报告此限制。

作为解决方法,对于此类自定义安装,我建议您跳过 Eclipse 安装程序,并获得可以像 Mars 一样工作的好旧软件包,所有内容都在它们自己的目录中:https://www.eclipse.org/downloads/eclipse-packages/