2017 年 6 月 28 日,Eclipse 社区(the Eclipse Community)发布了 Eclipse Oxygen。本文记录了我在 Ubuntu 16.04 上安装 Eclipse Oxygen 遇到的问题,并给出了解决办法。
请勿从 Eclipse Neon 升级到 Eclipse Oxygen,这样会遇到一些问题;官方也不推荐如此。
安装步骤请参考:Ask Ubuntu 上的问题 How to install Eclipse using its installer 下 A.B. 的回答 和 David Wright 的回答。A.B. 的回答非常细致,但是有个问题:若用 sudo
执行 ./eclipse-inst
,某些 shared library (即 .so 文件) 会被安装在 root 的用户目录 /root/
下;其后果是,没有 sudo
权限的用户无法访问 root 的用户目录(该目录的权限为 700),也就不能运行 Eclipse。David Wright 的回答指出了这个问题,并给出了解决办法(我没有检验过,我是安装在自己的用户目录下的)。另外,务必注意 A.B. 的回答中的第 4 步,执行此步时千万别用 sudo
。
至于 .desktop 文件,除了将其中的 Exec
和 Icon
作相应的改动外,我还将 StartupWMClass
的值改为 java-oxygen
(一开始我并不知道 StartupWMClass
这一设置的含义)。后来发现从 Unity Launcher 点击 Eclipse 图标启动后出现的名为 "eclipse-workspace" 的窗口并不属于左边 Unity Launcher 上的 Eclipse 图标,与此窗口对应的是一个带问号的灰色图标。又经过一番搜索,发现问题在于 .desktop 文件中的 StartupWMClass
的设置。关于 StartupWMClass
的含义,请参考 chaos 的回答 和 How to Customize Window Matching。另外,StartupWMClass
的值只能设成一个,不能设成多个;详见 Set Multiple values for StartupWMClass (to group under same launcher in Unity) 下的两个回答。对于 Eclipse Oxygen,应当将 StartupWMClass
设为 "Eclipse"(不包括引号)。"StartupWMClass" 中的 "WM" 指的是 Window Manager.