2016-06-21 6 views
0

私のビルドが不足している依存関係文句:のOSGiバンドルバージョンの試合にもかかわらず、見つからない

... requires bundle org.eclipse.ui [3.106.0,4.0.0)' but it could not be found 

使用ターゲットプラットフォームポイント以下のJARが含まP2の場所に:org.eclipse.ui_3.106.0.v20140812-1751.jar

まだビルドが失敗し、次の二つの問題を提起:

  1. 私は3.106.0.v20140812-1751範囲[3.106.0,4.0.0)になるだろうと思った、真実ではないということですか?
  2. OSGiはバージョンの4番目の部分をどのように処理しますか? 3.106.0が有効なバージョンであれば、接尾辞.v20140812-1751はどのようにOSGiによって理解されますか?

OSGiのバージョン管理の良い説明へのリンクも高く評価されます。

+0

バージョン管理へのリンク:http://www.aqute.biz/Bnd/Versioningバンドル名ではなくバンドルのバージョンを検出するには、MANIFEST.MFを参照する必要があります。 –

答えて

1

私は3.106.0.v20140812-1751が[3.106.0,4.0.0]の範囲にあると思っていましたが、それは本当ですか?

はいです。

OSGiはどのようにバージョンの4番目の部分を処理しますか? 3.106.0が有効なバージョンであれば、OSGiはどのように接尾辞.v20140812-1751を理解していますか?

4番目の部分は純粋に数字ではなく英数字でソートされていることを除いて、他の部分と同じようなセグメントです。特定のアルゴリズムはString.compare()です。そのため、そのメソッドの標準JavaDocを読んで詳細を知る必要があります。このセグメントを「修飾子」と呼びます

3.106.0.v20140812-1751では修飾子はv20140812-1751です。バージョン3.106.0では、修飾子は空の文字列です。 String.compare()のJavaDocsが確認するので、空でない文字列は空の文字列の後にソートされます。

関連する問題