【发布时间】:2016-09-05 15:15:09
【问题描述】:
我在台式机和笔记本电脑之间的可移动驱动器上安装了 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.library 引用了C:/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-1417 和org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.400.v20160518-1444。
因此,当驱动器连接到桌面时,Eclipse 可能会以某种方式更新其 Equinox Launcher。然后,当我将驱动器连接到笔记本电脑时,它引用了更新的启动器插件,但笔记本电脑没有更新的启动器。
这是一壶好鱼。我不知道 Eclipse 是在 Eclipse 安装目录之外的用户目录中安装东西。我想这是这个新奇启动器的缺点之一:无法在共享驱动器上使用 Eclipse。
如何让 Eclipse 将启动器安装在共享驱动器上而不是系统用户主目录中?如果我直接从 zip 文件安装,我可以完全避免这种情况吗? Eclipse 最初是如何在我不知情的情况下更新此启动器的?
更新:现在我看到 Eclipse 还在 local plugins 目录(即相对于驱动器上的可执行文件)中安装了一个 org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar。为什么 Eclipse 将一些东西放在相对于可执行文件的可移动驱动器上(它们应该是),而将其他东西放在系统用户目录中(我不想要它们)?这是一团糟。像我十多年来所做的那样拥有一个独立的 Eclipse 安装,真是太棒了。
【问题讨论】:
-
可移动驱动器上有什么样的文件系统?您的用户登录名是否仍然拥有目录树?它是否仍然具有“安全”选项卡上的“读取”和“执行”权限?
-
驱动器使用 NTFS。管理员可以完全控制整个驱动器。每台机器上的用户都是管理员。多年来,这种配置没有任何改变——除了两台机器上的 Windows 都更新到了 Windows 10 周年版。
-
如果您能准确告诉我 Eclipse 正在寻找什么“伴侣共享库”,也许我会有所收获?
-
我自己也不清楚。我刚刚看到埋在插件或配置文件夹中的 .exe 或其中一个 .dll 文件未标记为可执行文件时会发生这种情况。
标签: eclipse windows-10 eclipse-neon