Eclipse PDE:在对可部署功能的导出时,“分类存储库”应该做什么?

时间:2012-01-19 02:23:10

标签: eclipse eclipse-pde p2

我有一个category.xml文件。我正在将功能导出为可部署功能。我检查了“分类存储库”框,并为其指定了category.xml文件的路径。然后我导出到一个目录。

据我所知,这对结果没有影响。我在目录中看不到任何使用category.xml信息的内容。将Eclipse指向该目录允许我安装该功能的一部分插件,但我看到“没有分类项目”,除非我取消选中“按类别分组项目。”

我错过了什么?我还需要做些什么来使类别信息最终出现在导出的目录中?

[更新:ZoltánUjhelyi的解决方案]

我没有在该类别中提供足够的信息。我的新category.xml文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<site>
   <feature url="features/com.restphone.androidproguardscala.feature_0.0.8.jar" id="com.restphone.androidproguardscala.feature" version="0.0.8">
      <category name="com.restphone.androidproguardscala.feature"/>
   </feature>
   <category-def name="com.restphone.androidproguardscala.feature" label="Android Proguard Scala cache system"/>
</site>

最终将此行放在content.xml中:

<property name='org.eclipse.equinox.p2.name' value='Android Proguard Scala cache system'/>

请注意,导出后,category.xml位于category.jar中,因此grep不会找到该文本(它在category.jar中压缩)。

另请注意,有一个影响类别的杰出Eclipse错误:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=321341

https://bugs.eclipse.org/bugs/show_bug.cgi?id=359683

1 个答案:

答案 0 :(得分:4)

我会检查category.xml中的精确功能版本。如果要素版本号与类别版本号之间存在差异,则p2在更新期间未找到类别信息。

如果版本没问题,我会尝试将该功能导出到新位置,并尝试从该位置安装(有时更新现有的p2存储库不会没有错误)。