实战_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 ...
随机推荐
- ThinkCMF后台地址加密忘记了无法打开后台怎么办?
ThinkCMF后台地址加密忘记了无法打开后台怎么办?笔者为了网站安全把ThinkCMF后台的安全模式打开后忘了保存加密地址,导致无法登陆后台,找了些网上的资料,不太靠谱,只好从代码入手,找到/app ...
- windows下MariaDB忘记密码找回
1.首先停止数据库 2.找到my.ini文件 3.右键以记事本打开在Mysqld下添加如下一行保存,然后启动数据库 4.登录数据库会提示输入密码,默认回车即可 5.退出数据库,删除我们上面在my.in ...
- Thread--停止线程
参考:http://blog.sina.com.cn/s/blog_6ca570ed01016mti.html Thread.interrupt()方法不会中断一个正在运行的线程.它的作用是,在线程受 ...
- ubuntu下安装ant
背景介绍 最近终于正式开始填补一下自己在web方面的知识漏洞. 而ant则是必不可少的东西了,要问ant的作用是什么,简单的说,这个软件可以用最简单的方法将你的web应用程序部署到服务器上,是不是很强 ...
- atan2&sin
//弧度转化角度:弧度*180/PI //角度转化弧度:角度*PI/180 #include <math.h> #include <stdio.h> const double ...
- iOS 蓝牙开发详解
目前iOS智能硬件的开发交互方式主要分为两种,一种是基于低功耗的蓝牙4.0技术(由于耗电低,也称作为BLE(Bluetooth Low Energy))对应iOS的框架为CoreBluetooth,另 ...
- jsp动作标签学习
<jsp:useBean> <jsp:useBean>标签用于在指定的域范围内查找指定名称的JavaBean对象,如果存在则直接返回该JavaBean对象的引用,如果不存在则实 ...
- php中openssl_pkey_get_private()函数遇到false的问题 解决办法
今天用openssl_pkey_get_private()函数遇到了一个大坑: 如果你的私钥文件(private_key.pem)是 -----BEGIN PRIVATE KEY-----字符串字符串 ...
- 第二季第八天 HTML5新特性
在函数内部window.a = a 在全局中就可以拿到这个变量 变量命名.作为函数的参数的时候要详细.调用的时候可以简单点 做全局变量的两个方案 1.绑在标签上data 2.闭包 视频一般都是二进 ...
- Python—冒泡排序算法
冒泡排序 一,介绍 冒泡排序(Bubble Sort)也是一种简单直观的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再 ...