p2更新后恢复Eclipse RCP应用安装目录中的eclipsec.exe
恢复Eclipse RCP安装目录中的eclipsec.exe
根据你描述的p2配置情况,原来的操作是把eclipsec.exe复制为XXX.exe后删除了原文件,这里提供几种可行的恢复方案:
一、快速手动恢复(立即可用)
这是最直接的方法——毕竟XXX.exe本质就是eclipsec.exe的副本:
- 先关闭你的Eclipse RCP应用(如果程序正在运行,文件会被系统锁定,无法修改)
- 打开应用的安装目录,找到
XXX.exe - 复制该文件,并重命名为
eclipsec.exe - 如果安装目录在系统盘(比如
C:\Program Files),右键操作时记得选择「以管理员身份运行」,避免权限不足导致操作失败
二、修改p2配置永久修复(避免下次更新再丢失)
要是不想每次更新后都手动恢复,就得调整p2.inf里的配置指令,再重新发布p2仓库并更新应用:
- 找到你的RCP项目中的
p2.inf文件,定位到units.0.instructions.configure代码段 - 删除其中用于删除
eclipsec.exe的指令行(就是你提供的片段里最后那个remove(path:${installFolder}/eclipsec.exe)相关的内容) - 调整后的配置示例:
如果你想彻底确保units.0.instructions.configure=\ org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/readme);\ org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/eclipsec.exe,target:${installFolder}/XXX.exe,overwrite:true);eclipsec.exe不会丢失,还能额外加一行复制指令,把XXX.exe再复制回eclipsec.exe:units.0.instructions.configure=\ org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/readme);\ org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/eclipsec.exe,target:${installFolder}/XXX.exe,overwrite:true);\ org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/XXX.exe,target:${installFolder}/eclipsec.exe,overwrite:true); - 重新构建并发布你的p2仓库
- 在RCP应用中执行更新操作,之后
eclipsec.exe就会被永久保留在安装目录中
三、如果XXX.exe也丢失了怎么办?
要是XXX.exe也被删除了,你得从原始安装资源里提取eclipsec.exe:
eclipsec.exe属于org.eclipse.equinox.executable插件,找到你的RCP应用对应的p2仓库或者原始安装包- 下载该插件的jar包(通常命名类似
org.eclipse.equinox.executable_*.jar) - 解压jar包,在对应的Windows平台目录下找到
eclipsec.exe,复制到你的应用安装目录即可
内容的提问来源于stack exchange,提问作者illane
相关产品推荐
相关产品推荐

