1

私たちのEclipse製品では、修飾子にsvnリビジョン番号の置換を使用しています。これまでのところ、製品の構築と更新は問題なく成功しています。ただし、最近、svnリビジョン番号が90000から100000に増加し、90000リビジョンからの更新は機能しなくなりました。前回のリリースは1.0.0.Rx98971で、新しい更新は1.0.0.Rx100051です。更新マネージャーを使用して新しいリリースに更新しようとすると、「更新するものがありません」というエラーが表示されます。ここで、製品の別のリリース、たとえば1.0.0.Rx100052をビルドし、1.0.0.Rx100051を更新しようとすると、更新が機能します。0.1.0.Rx74511リリースを1.0.0.Rx100051に更新しようとすると、更新も機能します(ここでは明らかにメジャーを比較しています)。ここで私ができる唯一の仮定は、1.0.0.Rx100051が1.0.0.Rx98971、特に100051>より大きいことを検出するためのエラーがあるということです。98971であるため、更新は失敗します。私はこの仮定で正しいですか、それとも製品の更新に失敗する何かが起こっている可能性がありますか?

私が行ったいくつかのテスト

修飾子を元のリリース(1.0.0.Rx98971)に近づけるために、プラグインと機能のすべてのバージョンを1.0.0.qualifierから1.0.0.Rx98980に変更しました。アップデートサイトで製品をビルドし、1.0.0.Rx98971を1.0.0.Rx98980でアップデートしましたが、アップデートは正常に機能しました。次に、バージョンを1.0.0.qualifierから1.0.0.Rx100679に再度変更し、更新サイトで製品をビルドしました。1.0.0.Rx100679更新サイトを使用して1.0.0.Rx98971を更新しましたが、同じエラーが発生しました-「更新するものがありません」。それで、これは修飾子の比較がsvnリビジョンを正しく比較しないことを意味しますか?

4

1 に答える 1

1

OSGi修飾子は文字列であり、そのように比較されます。したがって1.0.0.100、未満です1.0.0.90

詳細については、 http://wiki.eclipse.org/Version_Numbering#When_to_change_the_qualifier_segmentを参照してください。

于 2012-12-20T18:09:04.563 に答える