修改Eclipse RCP应用程序启动器清单的相关问题
Eclipse RCP导出时Launcher.exe修改不生效的解决方案
问题1:Eclipse是否从其他来源获取可执行文件?
是的,PDE导出RCP应用时,会从**目标平台(Target Platform)**提取预编译的launcher.exe,而非你修改的工作区bundle_pool里的文件。具体位置分两种情况:
- 默认Eclipse安装作为目标平台:路径为Eclipse安装目录下的
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_<具体版本号>文件夹,里面的launcher.exe就是导出时使用的原始文件。 - 自定义目标平台:launcher文件会存储在P2缓存目录,Windows下通常是
C:\Users\<你的用户名>\.p2\pool\plugins,找到对应版本的org.eclipse.equinox.launcher.win32.win32.x86_64_<版本号>文件夹即可。
问题2:Eclipse是否从头生成可执行文件?能否调整流程包含修改?
Eclipse不会从头生成launcher.exe,而是复制预编译的二进制文件,再通过内置工具修改图标、版本信息等元数据(不会保留你直接修改的exe内容)。要让修改生效,有两种可行方案:
方案1:替换目标平台的原始launcher文件
- 找到目标平台中对应插件文件夹里的
launcher.exe,备份原文件 - 将你用
mt.exe修改好的launcher.exe替换进去 - 删除工作区缓存:
workspace\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool,重新导出应用即可
方案2:导出后自动执行修改脚本
如果不想修改目标平台文件,可以在PDE导出完成后,自动对生成的应用exe执行mt.exe修改:
- 编写批处理/脚本,包含
mt.exe修改清单的命令(例如:mt.exe -outputresource:your-app.exe -updateresource:your-manifest.xml) - 在PDE导出向导中,勾选导出后运行外部工具,配置指向这个脚本,实现导出完成后自动修改。
内容的提问来源于stack exchange,提问作者Jose Renato
相关产品推荐
相关产品推荐

