原來地址:http://blog.csdn.net/jsjszg/article/details/7370814
建立Plug-in項目時,需要選擇Target platform:
其中有三種選擇:
1、Eclipse version
2、an OSGi framework: Equinox
3、an OSGi framework: standard
什麼意思呢。
Eclipse version 指的是Eclipse UI 外掛程式這樣的運行方式.
an OSGI framework 指的是運行於OSGI下的,非UI的外掛程式.
選項: Equinox 指的是,使用Equinox(Eclipse的OSGI實現)
選項: standard 指的是,使用標準的OSGI實現
下面具體說明他們的差別:
1. 自動產生代碼的區別:
選擇Eclipse version, 那麼預設產生的Activator就是繼承與AbstractUIPlugin.
[java] view plain copy package helloservive04; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; /** * The activator class controls the plug-in life cycle */ public class Activator extends AbstractUIPlugin { // The plug-in ID public static final String PLUGIN_ID = "HelloServive04"; //$NON-NLS-1$ // The shared instance private static Activator plugin; /** * The constructor */ public Activator() { } /* * (non-Javadoc) * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) */ public void start(BundleContext context) throws Exception { super.start(context); plugin = this; } /* * (non-Javadoc) * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) */ public void stop(BundleContext context) throws Exception { plugin = null; super.stop(context); } /** * Returns the shared instance * * @return the shared instance */ public static Activator getDefault() { return plugin; } }