实战_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 ...
随机推荐
- 干货 | 运维福音——Terraform自动化管理京东云
干货 | 运维福音--Terraform自动化管理京东云 原创: 张宏伟 京东云开发者社区 昨天 Terraform是一个高度可扩展的IT基础架构自动化编排工具,主张基础设施即代码,可通过代码集中管 ...
- 4. git目录探秘
HEAD当前指向的分支信息.cconfig,当前仓库的配置信息,core,用户,远程,分支等信息.(命令操作其实就是修改当前config文件)refs---heads,其实就是分支,里面包含所有的分支 ...
- javaweb05 文件的上传一
2.使用fileupload组件完成文件的上传应用 1).需求: I. 上传 >在upload.jsp页面上使用jQuery实现"新增一个附件","删除附件&quo ...
- Thread--volatile详细
- 我的第一次JAVA实训——校园公用房管理系统
老铁们,昨天电脑没电了.这是上周答应的大项目. 别打脸. 详细内容我之后再写,下面是代码地址. Github地址 附:一个寂寞 以上
- share团队冲刺2
团队冲刺第二天 昨天:在网上学习app开发的简单操作代码,实现了简单的输出界面,学会了添加按钮控件. 今天:继续昨天的进度,先进行登陆界面窗口的制作. 问题:目前只能在activity添加简单代码,复 ...
- 成为优秀Angular开发者所需要学习的19件事
一款to-do app基本等同于前端开发的"Hello world".虽然涵盖了创建应用程序的CRUD方面,但它通常只涉及那些框架或库也能做到的皮毛而已. Angular看起来似乎 ...
- UML-为什么要画领域模型?
不熟悉业务的情况下, 1).找到关键概念和词汇 2).概念间的关系 熟悉业务的情况下, 1).梳理思路 完美不是目的. 另外,减少标示差异.如下图
- java 用condition&reentrylock实现生产者消费者
package com.lb; import java.util.ArrayList; import java.util.List; import java.util.concurrent.locks ...
- java复制对象,复制对象属性,只可复制两个对象想同的属性名。也可自定义只复制需要的属性。
注意:使用时copy()方法只会复制相同的属性.常用的copy()方法.以下为封装的工具和使用方式. 1.封装类 import java.util.Map; import java.util.Weak ...