当选择“生成激活剂......”创建一个新的Eclipse插件项目时
有很多Eclipse RCP的教程与明显的第一步开始:“创建一个新的插件项目......”当选择“生成激活剂......”创建一个新的Eclipse插件项目时
看来约。其中70%指定检查“生成激活器,一个控制插件生命周期的Java类”。其他人明确表示不检查切换。
alt text http://img179.imageshack.us/img179/6710/newpluginoptions.png
它的我也不清楚,是什么产生的激活器类为您做的,当你需要一个,当你不知道。
为了成为一个突出的选项,您每次创建一个新的插件项目(它似乎默认设置),这个选项没有很好地解释我发现的任何地方。
创建Eclipse插件项目时选择此选项的任何建议/规则?
在Eclipse本身(对话框上下文相关的帮助),它说这一点,这是用处不大。
“An activator是一个控制插件生命周期的Java类,只有当您需要在插件启动或关闭时执行工作时才需要。
将此选项设置为ON时,将为您的新项目自动生成一个Activator.java类。
因此,它听起来像是(有点新手),你不知道为什么或在插件启动/关闭时需要做什么额外的工作,你可以放心地关闭它。在项目源文件夹中只显示少一个.java文件。
但问题是'我应该何时创建一个激活器',而不是'如何...'。 – FelixM 2010-05-19 16:36:33
好点。删除最后一节并提出相关问题。 有没有办法嵌入一个链接到其他相关的问题? – 2010-05-19 18:28:52
如果你真的想知道,看看OSGi specification;版本4是当前版本。自Eclipse 3以来,每个插件都是OSGi包。 bundle启动和停止时会通知bundle激活器,这通常发生在Eclipse启动和关闭时。您还可以安装在其他软件包(即插件)启动时通知的监听程序或注册OSGi服务。
例如,我使用侦听器在我的包完成启动后启动某些操作;否则我可能会遇到类加载器问题。您可能还需要激活器来存储BundleContext,它允许您加载类并允许您访问该包的名称和版本。
找出的一种方法是查看生成的类。原来它是AbstractUIPlugin的一个子类。查看JavaDoc,它提供了诸如偏好管理,图像注册表等服务。如果你需要这些,你可能想要使用它。它是Plugin的一个子类,这是有道理的。
此外,它实现了BundleActivator,它有一些有用的JavaDoc。这为你提供了start()和stop()的存根,它允许你在这里挂钩你自己的代码。它还会生成一个静态便捷方法getDefault(),它为您提供Activator。这就是它的全部。
断开的链接 - 请修复 – 2015-06-08 19:55:49