实战_3:新建产品配置(product)并导出项目
产品配置Product
产品配置用于定义和管理RCP应用的多个方面特征。并支持将RCP项目导出为部署包(类似eclipse压缩包),可以直接部署到其他环境上使用。
产品配置必须新建一个 扩展名为 .product的配置文件,一般在根目录下创建。
如果产品配置存在问题,导致项目不能正常导出的话,就很痛苦了。所以这一步相当重要,另外一些版本的eclipse使用product配置导出项目时存在问题。
网上也有资料介绍使用Tycho管理和打包项目的。
新建产品配置:
右键项目 -> New -> Product Configuration -> Next -> 设置File:xxxx.product -> 选中:Use an existing product -> 下拉选择当前RCP项目的ID -> Finish


配置文件调整:
产品配置创建完成后,还需要进行调整:
(1)Overview界面的ID,不能与plugin.xml中的Overview界面的ID一致,否则启动项目或者导出会失败:

(2)Overview界面的下列选项要与项目相关

(3)增加start level:
在configuration配置页中,增加推荐的start levels,否则会造成导出后应用启动失败。
使用Add Recommended按钮增加:

如果导出或者启动下面的报错信息,则缺少start level:
org.eclipse.e4.core.di.InjectionException: Unable to process "CommandProcessingAddon.broker": no actual value was found for the argument "IEventBroker".
(4)增加必要的插件集
product文件 =》 contents页签 =》Add Required Plug-ins

启动应用:
产品配置 -> OverView -> Testing -> Launch an Eclipse application

导出exe:
产品配置的一个很重要的作用就是将项目打包输出, 并生成exe文件,这也是开发人员使用product的主要目的。
产品配置-> OverView -> Exporting -> Eclipse Product export wizard -> 勾选 Synchronizer before exporting(保证导出最新版本) -> 选择导出路径: Destination Directory -> Finish
打开导出目录 -> 打开eclipse -> 执行eclipse.exe -> 会在此目录下生成workspace



定制exe:
修改EXE文件名称:
产品配置 -> Launcher -> 设置Launch Name
launcher name就是最后生成的EXE文件名称

修改EXE图标:
Launcher页签中可指定exe图标:

导出错误:
导出后启动报错—服务未注册:
java.lang.RuntimeException: Application "jfcs.application" could not be found in the registry. The applications available are: org.eclipse.ant.core.antRunner, org.eclipse.e4.ui.workbench.swt.E4Application,
此种情况一般是因为导出的包中,缺少依赖jar包。 此时需要打开product配置文件,添加依赖jar包。此种情况多见于先创建product配置,后来又引入了新的jar包。
打开product配置 =》contents =》 Add Required Plug-ins

eclipse版本问题:
目前使用的eclipse-rcp-2019-12-R-win32-x86_64,可以正常使用product导出项目,但是之前使用的其他版本(2019-03安装版),导出存在问题,不能导出项目。也测试过另外一个解压版的eclipse,也没有问题。貌似安装版的eclipse存在此问题,很郁闷。

实战_3:新建产品配置(product)并导出项目的更多相关文章
- (转)SVN 服务端、客户端安装及配置、导入导出项目
SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上 ...
- SVN 服务端、客户端安装及配置、导入导出项目
http://blog.csdn.net/xcy13638760/article/details/12994923 http://www.cnblogs.com/armyfai/p/3985660.h ...
- Spring Boot实战(2) Spring常用配置
1. Bean的Scope scope描述Spring容器如何新建Bean的实例.通过注解@Scope实现,取值有: a. Singleton:一个Spring容器中只有一个Bean的实例.此为Spr ...
- 快速新建并配置一个eslint+prettier+husky+commitlint+vue3+vite+ts+pnpm的项目
前置准备 一台电脑 vscode pnpm vscode插件:ESLint v2.2.6及以上 vscode插件:Prettier - Code formatter v9.5.0及以上 vscode插 ...
- PowerDesigner建模应用(一)逆向工程,配置数据源并导出PDM文件
物理数据模型(Physical Data Model)PDM,提供了系统初始设计所需要的基础元素,以及相关元素之间的关系:数据库的物理设计阶段必须在此基础上进行详细的后台设计,包括数据库的存储过程.操 ...
- [实战]MVC5+EF6+MySql企业网盘实战(12)——新建文件夹和上传文件
写在前面 之前的上传文件的功能,只能上传到根目录,前两篇文章实现了新建文件夹的功能,则这里对上传文件的功能进行适配. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战] ...
- [实战]MVC5+EF6+MySql企业网盘实战(11)——新建文件夹2
写在前面 上篇文章实现了创建文件夹的功能,这里面将实现单击文件夹,加载列表的功能. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网 ...
- Jenkins持续集成企业实战系列之Jenkins配置演示-----03
注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. 最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...
- Spring Boot微服务电商项目开发实战 --- 多环境部署配置、端口号统一配置及Dubbo提供者消费者实现
昨天已经搭建好了SpringBoot基于Maven的基础父子级项目,今天开始进入项目分模块及分布式实现.首先我们基于昨天的项目,在父级工程下建lyn-sys,lyn-customer,lyn-good ...
随机推荐
- Maven:程序包不存在,找不到符号
maven build时出现了以下的错误: 程序包xx.xx不存在,xxx找不到符号 原因一:DAO层依赖Service接口层的Bean类,在pom.xml中添加了对Service的依赖,也因此引入了 ...
- 微信小程序返回页面传值
一.通过url传递参数,但由于navigateTo无法跳转到导航页,所以无法往导航页传递参数 wx.navigateTo({ url: 'test?id=1' }) 二.通过wx.navigateBa ...
- sping中 各种注解——@SuppressWarnings注解用法
@SuppressWarnings注解用法 @SuppressWarnings注解主要用在取消一些编译器产生的警告对代码左侧行列的遮挡,有时候这会挡住我们断点调试时打的断点. 如图所示: 这时候我们在 ...
- 1.4CAD2017绘图基础
1.新建(ctrl+n) 命令:new 回车——默认样板(acadiso.dwt) 2.打开(ctr+o) 3.保存(ctrl+S) 4.鼠标的应用: 左键:点击拖选等: 中间滚轮:a.滚动,放大缩小 ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 索引
MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度. 打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是 ...
- Red Hat、Fedora和Ubuntu软件包操作
五.Red Hat.Fedora和Ubuntu软件包操作对比 最后总结: 在 /etc/yum.conf 的 [main] 后面添加以下配置即可! 复制代码 代码如下: exclude=kernel* ...
- vim 马哥
VIM编辑器 编辑模式 默认 输入模式 i 末行模式 : vim +# file #打开文件后直接跳到第#行 vim + file 直接跳到尾行 vim +/关键字 跳转到 ...
- 33. docker swarm 集群服务通信 之 RoutingMesh - Ingress 网络
1.作用 当在 任何 一个 swarm 节点去访问 端口服务的时候 会通过 本节点 的 IPVS ( ip virtual service ) 到 真正的 swarm 节点上 当访问 docker h ...
- 计蒜客 密码锁(BFS)
https://www.jisuanke.com/course/1797/121114 Description 现在一个紧急的任务是打开一个密码锁.密码由四位数字组成,每个数字从 1 到 9 进行编号 ...
- android设备内部添加apn信息
由于工作原因今天需要给多台android设备中写入某张sim卡的apn相关信息,虽然可以通过sqlite命令写sql语句来写入到设备中,但设备一多起来就太低效了,所以在学习的过程中摸索着写了一个将ap ...