第十三天:终于可以打包发布了

Qt 基础教程合集 Qt是一个令人难以置信的全面框架,除了基本特性之外,它还包含了许多其他特性,旨在为您提供真正的专业开发体验。目前最常用的图形界面开发工具之一是Electron。Electron是一个开源的框架,它允许开发者使用Web技术(HTML、CSS和JavaScript)来构建跨平台的桌面应用程序。 阅读详情

作者:梁祺 (eclipsesbs@gmail.com)

来自:http://www.benisoft.net/day13/index.html


前面介绍了一些Plug-in开发的基本内容,今天来看一下怎么打包发布一个Plug-in。

Plug-in

我们用Itinerary作为例子。将Itinerary导入到你的Workspace中,在Package Explorer View中找到plugin.xml,双击打开,在Plug-in Editor的Overview子页的右下脚,找到Exporting。点击第四项里的Export Wizard,打开Export对话框。

在Available Plug-ins and Fragments选中eclipse.tutorial.itinerary,然后在Destination子页的Directory中输入用于输出的目录,例如,/Users/liangi/Documents,这样plug-in就会导出到/Users/liangi/Documents/plugins/eclipse.tutorial.itinerary_1.0.0.201212091019.jar。

在导出前,我们看一下Options子页中前面三个选项。

  • Export source:指定是否需要导出源代码。一般都不导出源代码。
  • Package plug-ins as individual JAR archives:将每个导出的plug-in生成一个JAR文件,否则为每个导出的plug-in生成一个目录。
  • Qualifier replacement:用于替换plug-in版本中qualifier的日期。

最后一个子页JAR Signing定义如何对导出的plug-in作数字签名,这里我们就不介绍了。向Eclipse发布的plug-in都会有数字签名,表明这个plug-in没有被篡改过,是可信的。

这样,导出的plug-in(plugins/eclipse.tutorial.itinerary_1.0.0.201212091019.jar)就可以发给用户使用了。用户得到这个jar文件,将它复制到目标Eclipse的目录下,重新启动Eclipse就可以了。有时出于某种原因,Eclipse没有去检查是否添加了新的plug-in,或者有plug-in更新。这时我们可以用".\eclipse -clean"来启动Eclipse,它会要求Eclipse清除缓存的plug-in安装信息,重新查找并解析plug-in。

Feature

Eclipse包含几十甚至上百个plug-in,比如Rational的产品。这就需要Feature来管理这些plug-in。在Eclipse里,plug-in是最小的可部署单位,Eclipse将相关的plug-in放入Feature里。Feature是比plug-in更大的可部署单位,一般表示一个完成独立某个任务或提供某个功能的模块,包含若干个plug-in。不过Feature和plug-in之间的关系比较松散的。并且,Feature之间也可以建立依赖关系,这个超纲了,不介绍了。

我们来具体看一下怎么创建一个Feature项目。选择“File -> New -> Feature Project”。输入Project name为“eclipse.tutorial.itinerary.feature”。点击Next按钮。

在Overview子页里将Feature的名字改为“Itinerary”,然后在Plug-ins子页里选择Itinerary所有的plug-in放进这个Feature,这里我们就选择"eclipse.tutorial.itinerary","eclipse.tutorial.itinerary.help","eclipse.tutorial.itinerary.rcp",点击Finish按钮。

这样Feature项目就创建好了。Feature项目没有任何代码,完全是配置信息,所以就两个文件,build.properties和feature.xml。

双击feature.xml,打开Feature Editor。Feature Editor和Plug-in Editor非常类似。Plug-ins子页列出了所有的Plug-in,它们的版本都是0.0.0,这意味着Feature在导出时获取各个Plug-in的版本。点击Versions按钮,你还可以看到另外两个选择。Copy versions from plug-in and fragment manifests(从Plug-in复制版本)和Force feature version into plug-in and fragment manifests(将Feature的版本覆盖Plug-in定义的版本)。

Feature的导出和Plug-in的导出一模一样。在Feature Editor的Overview子页的右下脚,找到Exporting。点击第三项里的Export Wizard,打开Export对话框。这时候,导出的Feature是在features目录下。/Users/liangi/Documents/features/eclipse.tutorial.itinerary.feature_1.0.0.201212091019.jar。

到这里,我们介绍了如何导出plug-in,如何创建Feature,并将其导出。对很小的应用来说,只有一个或两个plug-in,使用Feature有点杀鸡用牛刀,发布的时候,直接发布plug-in更加方便了。但是,如果对于有一定规模的应用,或者要求规范的发布管理过程,那就一定需要定义Feature了,明天我们的Update Site会看到,Eclipse还提供的应用的安装和更新功能,这时候就必须要求使用Feature。

AI漫剧制作全流程零基础实操指南:从剧本到剪辑 AI漫剧是一种利用AI工具将剧本、分镜、出图、配音、剪辑整合为流水线的短视频内容形式。其技术原理基于文生图、图生图与文本转语音模型的组合,核心挑战在于角色一致性控制与分镜批量出图。这项技术大幅降低了视频制作门槛,使个人创作者无需演员和设备即可产出剧情向短内容,广泛应用于短视频平台的情景剧、玄幻、甜宠等题材。本文给出了一套零基础可照做的全流程实操方案,覆盖剧本提示词、分镜表、出图选型、配音合成与剪辑模板,帮助你快速跑通AI漫剧制作链路。 阅读详情

相关推荐

IMU660RA姿态解算实战:从传感器滤波到欧拉角输出的完整实现

本文详细介绍了IMU660RA姿态解算的完整实现过程,从传感器滤波到欧拉角输出。通过实战案例和代码示例,展示了如何有效处理陀螺仪和加速度计的噪声问题,并选择合适的算法进行数据融合和姿态解算。特别强调了欧拉角输出中的坐标系对齐和动态补偿技巧,帮助工程师快速掌握IMU660RA的应用。

weixin_42524762的博客 386

插件开发自我总结

插件源码查找 第一种 http://xpenxpen.iteye.com/blog/1607903 到http://www.eclipse.org/downloads/下载eclipse,注意一定要下载eclipse classic,只有这个才带源代码的,其他比如Eclipse IDE for Java EE Developers, Eclipse IDE for Java D...

weixin_30571465的博客 166

Windows游戏玩家必看:用Process Lasso优化CPU优先级和核心绑定,告别卡顿

本文为Windows游戏玩家详细介绍了如何使用Process Lasso优化系统性能。通过设置CPU优先级和核心绑定,可以智能管理进程资源,确保游戏获得最高调度权限,有效减少因后台程序干扰或Windows调度机制不完善导致的卡顿与帧数波动,从而提升游戏流畅度与稳定性。

weixin_29299807的博客 2217

基于 OSGi的企业级开发框架实践——开发框架的创建

终于到了主角登场的时刻了!之前化了不少笔墨介绍有关OSGi和Spring DM框架的内容,目的就是为了我们开发框架的出场做铺垫。在序篇中我已经介绍了做为开发框架所应具备的要素。其中最为关键的是要为开发人员提供一套统一的编程模型或称其为开发模板。所有开发人员通过遵循统一的开发标准就可以极大的提高开发效率和质量。 基于OSGi的开发与普通的Java或是Web开发有着不同的项目组织结构。因为OSGi崇...

贫僧法号梦遗 220

从硬件到软件:TSMaster报文过滤全链路配置指南(含同星设备适配)

本文详细介绍了TSMaster平台下CAN/LIN/FlexRay总线的报文过滤全链路配置指南,特别针对同星TC1016等硬件的兼容性进行实战演示。从硬件层预过滤到软件层可编程过滤,提供五维过滤体系构建方法,帮助工程师提升车载诊断与总线分析效率。重点解析混合总线过滤策略优化及诊断场景下的特殊过滤方案。

tensorflowjs6的博客 401

tkinter使用label视频播放

tkinter是python的界面开发包 使用tkinter显示视频流的一个办法是使用label来逐帧显示图片。 from Tkinter import * from PIL import ImageTk, Image import cv2 root = Tk() # Create a frame app = Frame(root, bg="white") app.grid() # Create a label in the frame lmian = Label(app) lmain.grid(

六十英里的专栏 5526

Eclipse插件入门:创建扩展点

 Eclipse插件入门:创建扩展点如果你对扩展点不陌生,那么在进行这一章节前首先检查一下以前的安装。这里我们采用扩展点基本的知识和如何在它们上面进行迭代;我们将尽量覆盖如何为其它插件提供扩展点。同样,如果你已经学习过OSGI入门(“Getting started with OSGi”),接下来,你可能有对扩展点和OSGi服务之间的不同产生疑问;那么,Neil在EclipseZone上

juneman的专栏 2269

DeepSeek在实时计算与流处理系统中的突破性实践

对于技术决策者而言,现在正是将DeepSeek实时计算技术纳入企业架构蓝图的关键时机,那些能够率先构建实时智能能力的企业,将在数据驱动的商业竞争中赢得决定性优势。DeepSeek通过创新的流处理架构,成功将复杂事件处理(CEP)的延迟降低到亚秒级,同时保证了计算结果的精确性。DeepSeek研发的神经架构搜索(NAS)与知识蒸馏联合优化框架,可在保持模型精度的前提下,将参数量压缩至原始模型的1/100,实现边缘设备的实时AI推理。随着5G和物联网技术的普及,对实时处理能力的需求将呈指数级增长。

Programming Talk 290

【WRF-DART第一期】WRF/DART概述

【WRF-DART第一期】WRF/DART概述

WW、forever的博客 107

【AUTOSAR-COM】-10.5-APP CAN Frame/PDU“发送周期不准“的影响因素

一个Tx PDU在COM模块中的数据流; Tx APP CAN Frame/PDU"发送周期不准"的影响因素;

「汽车电子助手」的博客 2386

安卓游戏上线必备攻略!怎么样在14天内接完16个大平台的SDK!

现在做个安卓游戏,成品之后要上线,发现要接N多个平台的sdk才能上线,实在是蛋疼到爆了。。。等接完是不是还有逐个去做版本维护啊?每次更新还要再出N多个包再逐一提交审核?每个包,是不是还要蛋疼地都跑一遍各种安卓机器测试啊?心想怎么会有这么蛋疼的设定。。。这让做版本管理的情何以堪啊。。。T_T还好在大家面对这些问题时,小弟已经迈过去了!Q1. 如何打出N个平台各自对接sdk的包?...

weixin_34129696的博客 176

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

淘淘商城第一天——项目介绍与项目搭建

一、项目目录概述 一共14天课程 1、第一天:电商行业的背景。淘淘商城的介绍。搭建项目工程。Svn的使用。 2、第二天:框架的整合。后台管理商品列表的实现。分页插件。 3、第三天:后台管理。商品添加。商品类目的选择、图片上传、富文本编辑器的使用。 4、第四天:商品规格的实现。 5、第五天:商城前台系统的搭建。首页商品分类的展示。Jsonp。 6、第六天:cms系统的实现。前台...

weixin_30886233的博客 438

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

打包插件

跳转到主要内容 登录 (或注册) 中文 [userid] 这是您第一次登陆到 developerWorks,已经自动为您创建了您的概要文件。 选择您概要文件中可以公开的信息的信息(如姓名、国家/地区,以及公司),这些信息同时也会与您所发布的内容相关联。 您可以随时更新您的 IBM 账号。 所有提交的信息确保安全。

jethuang007的专栏 733

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

eclipse插件导出失败

将eclipse插件导出为Deployed plug-ins and fragments时失败并提示: 现象将eclipse插件导出时失败,根据提示打开log 1. ERROR in D:\workspace\com.test.myplugin\src\com\test\myplugin\Environment.java (at line 5) import org.eclipse.

幸福在路上 2552

最近在开发中遇到的问题总结

1.查看eclipse源代码方法:a.创建plugin项目,将所有插件加入依赖,然后在该项目中open type(ctrl + shift + T),可以查到所需要的类。b.File->import->Plug-in Development->Plug-ins and Fragments 然后可以add所有需要的plugin到工作空间中。 2.java判断路径是否存在:由选择路

苏强的专栏 5412

Eclipse解决空格自动补全的详细步骤

1 安装Plugin Perspective (1). Help->Install New Software (2). “Work With:” -> “–All Available Sites–” (3). type “Plug-in” into the filter box (4). Open “General Purpose Tools” (may be called diffe...

qq_39411501的博客 3468

Teamcenter之RCP的简单创建与运行

1、下载eclipse开发工具,一般为eclipse-SDK--系列。 2、展开eclipse的Window菜单,选择Preferences,选择Java->Installed JREs,选择Add,添加你的jre版本与路径。 3、选择Plug-in Development->Target Platform,选择Add。点击Next,然后点击Add。找到Teamcenter根目录中的portal文件,例如我的源文件为:D:\Siemens\Teamcenter11\portal。 4、选择Run

yatasiminasayi的博客 1372

如何在插件开发中正确使用第三方jar包

如何在插件开发中正确使用第三方jar包 问题描述  很多开发人员在eclipse插件开发中,经常会遇到第三方jar包无法访问的问题,或者是明明在开发环境中一切正常,导出插件到了运行环境时却出现"NoClassDefFoundError"异常等诸多问题。  本文结合笔者插件开发遇到的问题,谈谈插件开发过程中应该如何正确配置第三方jar包。解决过程在一般插件项目中添加第三方jar包:...

leng1987021的博客 514

Eclipse 开发plug-in 引用其它项目时 导出plug-in的方法

现象描述:plug-in项目如果引用了其它的项目,在调试时是正常的,但是在导出时可能会报错。 引用的库会提示找不到: 处理方法:原因分析问题原因是ToErpLib不是eclipse 的plugin,而是java projects。事实上它们没有包含在最终导出的jar包里。网上有介绍在mac系统下,使用ln创建链接,把被引用项目链接到目标项目里。我用的是windows系统,采用下面方案:操作ToE

猿来这样-谢厂节的博客 4800

使用Eclipse3.1的新特性方便的发布你的RCP Product

今天在群里有人讨论发布swt应用的问题,想起我以前写的一个小笔记,遂翻箱倒柜,发到这里,希望对想要发布swt的人有用Eclipse3.1刚刚release的时候,它的RCP发布功能就很吸引我,当时正好有个小东西要做,就用了这个功能发布了一个小程序,似乎很多人推荐用NSIS,但是我觉得Eclipse的这个功能似乎更方便,几乎不用担心任何部署的问题。--------------------------...

233

rcp feature 方式配置产品

本人使用的是eclipse 4.5 luna jdk 7 在配置feature启动时,dependencies标签页,加上feature后,点击“add Required”,eclipse不会自动将需要的feature加上,需要自己添加org.eclipse.rcp,然后在点击"add Required"即可正常启动RCP程序

x082ws的博客 549
上一篇: 第十二天:别都长的和Eclipse IDE一个样
下一篇: 第十四天:可以下载安装了
std3lqi
博客等级 码龄24年 1粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值