为了更好的实现动态加载/卸载插件,Eclipse从3.0开始实现OSGI规范,原先在plugin.xml文件里定义的很多内容都被推荐放在manifest.mf文件里,只有<extension>和<extension-point>是例外。下面是两种文件格式中各元素的对照表:
plugin.xml tag/attribute
|
manifest.mf header
|
<plugin id=> | Bundle-SymbolicName |
<plugin version=> | Bundle-Version |
<plugin name=> | Bundle-Name |
<plugin provider=> | Bundle-Vendor |
<plugin class=> | Bundle-Activator |
<fragment plugin-id=> | Fragment-Host |
<fragment plugin-version=> | Fragment-Host: <id>; bundle-version= |
<requires>, <import> | Require-Bundle |
<runtime>, <library> | Bundle-ClassPath |
具体的转换方法在这里可以看到,也就是说,我们在Eclipse 3.0以上版本中开发插件的时候,最好使用manifest.mf文件的方式(实际上Eclipse自带的Plugin Manifest Editor在这方面已经帮我们做了不少工作,新版本的Eclipse在创建新项目时会自动把可以放在manifest.mf文件中的内容转移过去)。
本文转自博客园八进制的博客,原文链接:Plugin.xml -> Manifest.mf,如需转载请自行联系原博主。