代码之家  ›  专栏  ›  技术社区  ›  Michael Mangeng

Equinox框架重启后的包更新

  •  3
  • Michael Mangeng  · 技术社区  · 16 年前

    我有一个正在运行的equinox osgi框架,其中包含一系列已启动的捆绑包。现在,我通过“更新”使用osgi控制台更新了一个包。 (或使用提供的方法:bundle.update(url));

    一切都很完美。。。但是如果我完全重新启动osgi框架,以前更新的bundle将再次处于原始状态(与更新之前一样)。

    我正在使用eclipse的update.configurator搜索插件目录中的所有捆绑包并安装它们,但我认为它可以识别捆绑包是否已更新。

    谢谢 迈克尔·曼根

    1 回复  |  直到 16 年前
        1
  •  1
  •   AlBlue RACGAMERUP    16 年前

    你是怎么开始春分的?您是从-clean开始的吗(它将删除所有更新)?

    请注意,“udpate”只是更新内存中运行的拷贝,而不是更改磁盘上原始JAR上的任何位。如果你正在开始春分,并通过旧的捆绑(但不是新的),然后它可能会回来作为旧的状态。

    P2在某种程度上阻碍了这样一种假设,即一旦您剪切了bundle的位,之后它将保持不变——换句话说,P2首先有效地中断了bundle.update()的操作。不过,您可能应该管理磁盘上的位,以便即使有人进行了清理,您也能获得正确的数据。