Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
替换Eclipse中现有的功能id_Eclipse_Eclipse Plugin_P2 - Fatal编程技术网

替换Eclipse中现有的功能id

替换Eclipse中现有的功能id,eclipse,eclipse-plugin,p2,Eclipse,Eclipse Plugin,P2,我有一个功能,我想更改其ID。但是,这使得无法更新现有安装,原因如下: 假设1.0版的功能F1包含1.0版的插件A 现在,我想在版本1.1中有一个功能F2,它使用版本1.1中的插件a 在安装F2时,我得到了一个错误——我已经有了功能F1,它需要版本1.0中的插件A,因此,安装插件A 1.1将取消该依赖关系 我在寻找一种方法来表示F2代替F1。我该怎么做呢?我假设您使用的是p2 使用p2导出/构建功能时,生成的content.xml(.jar)包含如下内容: <unit id='f.feat

我有一个功能,我想更改其ID。但是,这使得无法更新现有安装,原因如下:

  • 假设1.0版的功能F1包含1.0版的插件A
  • 现在,我想在版本1.1中有一个功能F2,它使用版本1.1中的插件a
  • 在安装F2时,我得到了一个错误——我已经有了功能F1,它需要版本1.0中的插件A,因此,安装插件A 1.1将取消该依赖关系
    我在寻找一种方法来表示F2代替F1。我该怎么做呢?

    我假设您使用的是p2

    使用p2导出/构建功能时,生成的content.xml(.jar)包含如下内容:

    <unit id='f.feature.group' version='1.0.0' singleton='false'>
      <update id='f.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
      ...
    </unit>
    
    
    ...
    
    元素指定此元素将更新的功能的早期版本。现有的元数据生成工具设置了这一点,如上面所示

    我创建了一个功能“f”,其中包括插件“a1.0.0”,并用元数据导出,然后将该功能安装到我的eclipse中。然后我创建了一个功能“g”,其中包括插件“a2.0.0”。我再次将其导出到同一存储库中。然后我去手动编辑content.xml文件,并更改了:

    <unit id='g.feature.group' version='1.0.0.200907061120' singleton='false'>
      <update id='g.feature.group' range='[0.0.0,1.0.0.200907061120)' severity='0'/>
    
    
    

    
    
    然后在我的eclipse中,我做了一个“检查更新”,它发现“g”是对以前的“f”的更新,并进行了升级。(您可能需要强制重新加载存储库以获取更改,在“可用软件站点”首选项页面中执行“测试连接”可以做到这一点)


    不幸的是,目前没有办法让导出/构建过程为您更改更新元素,需要手动编辑。我提出了。

    只是为了记录在案,我确实试过了,但不起作用。然而,我没有找到任何文档或其他证据证明这个特性应该存在,所以打开一个bug是一个问题。
    <unit id='g.feature.group' version='1.0.0.200907061120' singleton='false'>
      <update id='f.feature.group' range='[0.0.0,1.0.0.200907061120)' severity='0'/>