RCP 应用程序:“检查更新”返回“未找到更新”

Posted

技术标签:

【中文标题】RCP 应用程序:“检查更新”返回“未找到更新”【英文标题】:RCP application: "Check for Updates" returns "No updates were found" 【发布时间】:2021-12-16 21:58:39 【问题描述】:

我正在从站点更新 RCP 应用程序,其中包含应用程序的新版本 (9.0.0.46)。 但“检查更新”返回“未找到更新”。 例子: 现有版本为 9.0.0.7; 新版本是 9.0.0.46。

对于现有版本 9.0.0.13,找到了新版本 (9.0.0.46)。

似乎将版本作为字符串进行比较,并且 4 1 它看到第二个。 如何检查这个假设并解决这个问题?

谢谢!

【问题讨论】:

我相信版本的第四部分根本没有考虑,它通常只是一个构建限定符值(不是数字)。 很高兴再次收到您的来信,@greg-449!上次link你帮了我很多!如果我理解正确,只考虑前 3 个数字,在我的例子中说:9.0.0。所以要制作新版本我应该做的,例如:9.0.1。然而,奇怪的是,在一种情况下找到了新版本,但在另一种情况下却没有。而这些版本的区别只是限定符。 我不使用 p2 代码,所以我不确定确切的规则是什么。但是第 4 部分绝对可以是任何东西,因此它不会将其视为数字,并且任何比较都将基于字符串。所以我认为改变major/minor/micro 值是你应该做的。 【参考方案1】:

我终于在https://wiki.eclipse.org/Version_Numbering找到了答案。在 RCP 应用中, 内部版本号由四 (4) 段组成:三个整数和一个字符串,分别命名为 major.minor.service.qualifier。 前三个段(majorminorservice)作为数字进行比较,最后一个(qualifier)按字典顺序进行比较。 所以,就我而言,这实际上是一种预期的行为。

【讨论】:

以上是关于RCP 应用程序:“检查更新”返回“未找到更新”的主要内容,如果未能解决你的问题,请参考以下文章

linux下不同服务器间数据传输(rcp,scp,rsync,ftp,sftp,lftp,wget,curl)

第一个RCP程序

RCP学习

java-RCP

如何创建触发器以检查更新的字段值

在 RCP 应用程序中拥有 RESTful 服务