【问题标题】:eclipse update site not updatingeclipse更新站点不更新
【发布时间】:2012-09-28 08:58:19
【问题描述】:

我正在为 Eclipse 制作插件 - 但由于某种原因,当我构建插件的新版本时 - 更新站点没有注意到它。

构建过程说插件应该是版本 1.1.0.201209191506,但是当我访问安装时,我会看到这些版本:

XML 文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<site>
   <feature url="features/supportStructuresForCSFEditing -_1.1.0.201209191506.jar" id="supportStructuresForCSFEditing -" version="1.1.0.201209191506">
      <category name="plancomps"/>
   </feature>
   <feature url="features/supportStructuresForCSFEditingTest -_1.1.0.201209191506.jar" id="supportStructuresForCSFEditingTest -" version="1.1.0.201209191506">
      <category name="plancomps"/>
   </feature>
   <category-def name="plancomps" label="plancomps"/>
</site>

如果我从本地或网络安装,就会发生这种情况 - 知道会发生什么吗?或者我可以尝试的诊断技巧?

编辑 - 机器已经重新启动 - 并且以前从未见过插件的机器尝试过 - 都显示了旧版本。 :(

【问题讨论】:

  • 您是否更新了任何特定的插件??还是一般的 Eclipse 更新不起作用?
  • 这两个特定的插件是我正在开发的——我改变了它们,重新构建它们,并想将它们安装到 eclipse 的测试实例中——但我一直看到旧版本的插件:(
  • 我认为您必须更改版本的前 3 个部分之一,更改第 4 部分(构建 ID)被忽略。
  • 这是一个可行的解决方案:stackoverflow.com/a/3491964/632199 只是不要创建更新站点项目。改为导出可部署功能。导出向导将创建所有需要的元数据。

标签: eclipse plugins


【解决方案1】:

我会检查两件事。

1) 我认为由于错误,有时功能会从类别中删除(如果您使用 GUI 更新您的网站)。因此,当最新版本处于顶级时,您可能会在您的类别中查看您的插件,反之亦然。

2) Eclipse 缓存更新站点的当前状态。所以你需要重启,让它显示较新的版本。

【讨论】:

  • 令人尴尬的是,我发现自己一年多回来说我又遇到了同样的问题 - 不幸的是,重新启动并没有产生任何影响......
  • 谢谢。就我而言,该功能已从类别中删除。不好,但很高兴它可用。 (我用的是霓虹灯)
【解决方案2】:

很可能,您的缓存没有更新。 p2 会经常缓存更新站点的内容信息。看起来您使用的是旧式更新站点,并且您没有 content.xml(或 .jar)和 artifact.xml(或 .jar),它们不再受真正支持,可能更难删除缓存。

您可以尝试以下方法:

  1. 帮助 -> 安装新软件 -> 可用软件站点 ->(选择您的更新站点)-> 重新加载
  2. 删除并重新添加您的更新站点
  3. 使用 -clean 选项重新启动 eclipse 以清除配置区域

但是,实际上您应该确保创建 artifact.xml 和 content.xml(或 .jar)并创建正确的更新站点。

【讨论】:

    【解决方案3】:

    好的,所以回到这个问题,我有一个理由和一个解决方法。

    Eclipse 的缓存非常激进。但是我正在做的事情没有帮助,我想我会分享。

    当我构建插件的新版本时,我删除了前一个(这对我来说很有意义,通常前一个是内部错误的东西,我总是可以从 svn 重建它)。但是,当我开始保留以前的版本时,更新站点开始按预期工作。

    【讨论】:

      【解决方案4】:

      我想这个问题已经为 OP 解决了,但我想我会分享: 我刚刚花了 2 个多小时与一个非常相似的问题作斗争,最终设法解决了它。我不确定我的解决方案是否可以应用于这种情况。我的情况是这样的:

      1. 我创建了一些插件并将它们上传到我也创建的软件站点。
      2. default.target 文件中,我添加了来自该软件站点的插件。
      3. 我意识到其中一个插件存在错误,再次创建它,将其上传到软件站点,然后在我的default.target 中单击该站点的“更新”。

      插件从未重新加载。即使我删除了更新站点,当我单击更新时,eclipse“神奇地”仍然看到它并假装从那里更新。好玩好玩。

      我尝试了各种方法,但最终只有这一种对我有用(我假设你也有一个 default.target):

      1. 从您的default.target 中删除未更新的插件。
      2. 退出 eclipse(至少是有问题的工作区的实例)。
      3. 备份您的工作区,或至少备份default.target &lt;pathToYourWorkspace&gt;\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\。如果需要,可能很难恢复以下更改。
      4. &lt;pathToYourWorkspace&gt;\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\:
        1. 打开artifacts.xml 并删除所有对未更新插件的引用。请注意,每个插件可能有多个引用;例如,在我的情况下,我有一个 'classifier='org.eclipse.update.feature' 和一个 classifier='osgi.bundle'(我正在使用 OSGi)。
        2. 打开子目录features 并删除与未更新的插件对应的文件夹。 (按日期排序可能会有所帮助。顺便说一句,在我的情况下,这些 jar 的“修改日期”表明它们只是第一次下载并且从未再次更新)
        3. 打开子目录plugins 并删除与未更新的插件对应的jar。 (按日期排序可能会有所帮助。同上)
      5. 再次打开 eclipse,使用选项 -clean-data &lt;pathToYourWorkspace&gt; 以便清理工作区。
      6. 将插件添加到default.target
      7. 如果仍有问题,请尝试选择插件或更新站点并单击“更新”,和/或重新启动 eclipse。

      这几乎把我逼疯了。我希望这对某人有所帮助。

      【讨论】:

        【解决方案5】:

        我想你首先使用一个新的 eclipse 副本来添加一个插件,如果该插件已经安装。复制 eclipse.zip 到新文件夹中,解压缩它,运行 eclipse 然后开始使用更新站点来做这个请

        帮助-->安装新软件-->“粘贴更新站点网址”-->它会捕捉更新-->点击确定-->接受许可-->“继续进程”-->给出警告按 Ok " 现在你更新成功了。

        注意:互联网连接应正常可用。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-12-15
          • 2011-03-30
          • 2012-03-03
          • 2014-10-03
          • 1970-01-01
          相关资源
          最近更新 更多