Skip to content

标题: Eclipse绿色化方案

创建: 2020-10-24 22:03 更新: 链接: https://scz.617.cn/windows/202010242203.txt

https://www.eclipse.org/downloads/ https://mirrors.neusoft.edu.cn/eclipse/oomph/epp/2020-09/R/eclipse-inst-jre-win64.exe

在Win10上装2020-09这个版本。过去Eclipse有zip版本,不知何时只有exe版本了。

Eclipse不会往注册表里写东西,可以选择安装目录,假设当前用户名为scz,缺省安 装目录是:

%USERPROFILE%\eclipse\java-2020-09\ C:\Users\scz\eclipse\java-2020-09\

为了做实验,选择安装目录为:

H:\Eclipse\java-2020-09\

不在启动菜单中增加相关项,只增加一个桌面快捷方式。它会自动下载JRE,有两种 选择:

JRE 14.0.2 - https://download.eclipse.org/justj/jres/14/updates/release/14.0.2 JRE 11.0.2 - https://download.eclipse.org/justj/jres/11/updates/release/11.0.2

缺省是14,安装到:

%USERPROFILE%.p2\pool\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_14.0.2.v20200815-0932\jre\ C:\Users\scz.p2\pool\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_14.0.2.v20200815-0932\jre\

剪切

H:\Eclipse\

H:\Green\Eclipse\

执行

H:\Green\Eclipse\java-2020-09\eclipse\eclipse.exe

指定Workspace

H:\work\Eclipse\

可以启动。

查看"H:\Green\Eclipse\"的大小,才17M,这个目录虽然可以移动,但它依赖其他目 录:

C:\Users\scz.eclipse\ 2.24M C:\Users\scz.p2\ 305M C:\Users\scz.tooling\ 132K

把这三个目录移动到

H:\Green\Eclipse.eclipse\ H:\Green\Eclipse.p2\ H:\Green\Eclipse.tooling\

再次启动Eclipse,报错:

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

显然Eclipse是假绿化状态,我想要的效果是,除了Workspace之外的所有相关目录都 位于这个目录下:

H:\Green\Eclipse\

重装OS时,只需要将这个目录备份、还原即可恢复Eclipse的使用。

用UltraEdit在"H:\Green\Eclipse\"中搜索包含"scz"的所有文件,有如下命中:

H:\Green\Eclipse.eclipse\org.eclipse.oomph.p2\agents.info H:\Green\Eclipse.eclipse\org.eclipse.oomph.p2\defaults.info H:\Green\Eclipse.eclipse\org.eclipse.oomph.setup\setups\user.setup // 只有个用户名 H:\Green\Eclipse.p2\pools.info H:\Green\Eclipse.p2\profiles.info H:\Green\Eclipse.p2\org.eclipse.equinox.p2.engine.settings\org.eclipse.equinox.p2.artifact.repository.prefs // 反复修改? H:\Green\Eclipse\java-2020-09\eclipse\eclipse.ini H:\Green\Eclipse\java-2020-09\eclipse\configuration\config.ini H:\Green\Eclipse\java-2020-09\eclipse\configuration\org.eclipse.equinox.simpleconfigurator\bundles.info H:\Green\Eclipse\java-2020-09\eclipse\configuration\org.eclipse.osgi\framework.info.2 // 二进制文件 H:\Green\Eclipse\java-2020-09\eclipse\configuration\org.eclipse.osgi\165\data\1289483077\artifacts.xml // 后生成的 H:\Green\Eclipse\java-2020-09\eclipse\configuration\org.eclipse.osgi\173\data\timestamps-1968014569 // 后生成的 H:\Green\Eclipse\java-2020-09\eclipse\configuration\org.eclipse.update\platform.xml

user.setup中只有个用户名scz,没有目录信息。framework.info.2是个二进制文件。 其余文件都是文本文件,将其中的目录信息修正到"H:\Green\Eclipse\",格式需要 与原来的一致,尤其是正反斜杠。

再次执行

H:\Green\Eclipse\java-2020-09\eclipse\eclipse.exe

启动成功,但是仍然自动生成三个目录:

C:\Users\scz.eclipse\ C:\Users\scz.p2\ C:\Users\scz.tooling\

我希望将来只用到:

H:\Green\Eclipse.eclipse\ H:\Green\Eclipse.p2\ H:\Green\Eclipse.tooling\ H:\Green\Eclipse.m2\ H:\Green\Eclipse.gitconfig\ H:\Green\Eclipse\git\ H:\Green\Eclipse.ssh\

修改

H:\Green\Eclipse\java-2020-09\eclipse\eclipse.ini

在"-vmargs"后增加环境变量:

-Duser.home=H:/Green/Eclipse

编辑

H:\Green\Eclipse\java-2020-09\eclipse\eclipse.bat


@echo off set HOME=H:\Green\Eclipse start "Run Eclipse" "H:\Green\Eclipse\java-2020-09\eclipse\eclipse.exe"


在桌面创建eclipse.bat的快捷方式,以后用eclipse.bat启动。

如果绿色化失败,可以看这个文件找找原因:

H:\work\Eclipse.metadata.log

怎么知道要设置HOME环境变量的呢,就是从.log中看来的,git会用到这个环境变量。 用bat文件的好处是,只需针对Eclipse进程设置HOME环境变量,不必设置全局环境变 量。

如果绿色化成功,不会再在"C:\Users\scz\"下生成那些目录。

然后过一遍配置,比如:

Window Preferences Install/Update Automatic Updates

在配置中会发现所有目录都位于"H:\Green\Eclipse\"之下,除了Workspace。

至此,Eclipse绿色化完成。

注意到绿色化过程的主要麻烦在于会在%USERPROFILE%下生成一堆目录,为此尝试过 这种安装过程:

set HOME=H:\Green\Eclipse set USERPROFILE=H:\Green\Eclipse start "Install Eclipse" eclipse-inst-jre-win64-2020-09.exe

实测表明安装过程无论如何都会在"C:\Users\scz\"下生成一堆目录。换句话说,要 想"All In One",只能像再前面那样干。