标题: 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",只能像再前面那样干。