8

我正在为 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>

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

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

4

5 回答 5

4

我会检查两件事。

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

2) Eclipse 缓存更新站点的当前状态。因此,您需要重新启动,以使其显示较新的版本。

于 2012-09-28T09:21:29.220 回答
2

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

您可以尝试以下方法:

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

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

于 2014-05-01T03:50:05.930 回答
1

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

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

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

于 2014-06-05T08:43:16.443 回答
0

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

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

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

我尝试了各种各样的东西,这是唯一对我有用的东西(我假设你也有default.target):

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

这几乎把我逼疯了。我希望这可以帮助别人。

于 2015-07-20T14:19:22.587 回答
-1

我认为您首先使用 eclipse 的新副本添加插件,如果该插件已安装。将 eclipse.zip 复制到新文件夹中,解压缩,运行 eclipse 然后开始使用更新站点执行此操作

帮助-->安装新软件-->“粘贴更新站点网址”-->它将捕获更新-->单击确定-->接受许可证-->“继续进程”-->它给出警告按确定“现在您已成功更新。

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

于 2014-05-07T10:13:23.170 回答