2012-03-20 5 views
1

外部バンドルをインストールして、単純な春分アプリケーションにロードしようとしています。osgiバンドルを起動し、Require-Bundleで失敗しました:org.eclipse.core.runtime; bundle-version = "0.0.0"

対象バンドルはここから入手可能Eclipse用のプラグインのセットから来ている:

http://sourceforge.net/projects/rodin-b-sharp/files/Core_Rodin_Platform/2.4/rodin-2.4-dev.zip)。

$ java -jar org.eclipse.osgi_3.7.1.R37x_v20110808-1106.jar -console 

私はそれ

osgi> install file:///path_to/rodin-2.4-dev/org.eventb.core_2.4.0.r14093.jar 
Bundle id is 1 

をインストールすることができます。しかし、私はそれを起動したとき、私は例外を持っている:

私は春分が起動すると

osgi> start 1 
org.osgi.framework.BundleException: The bundle "org.eventb.core_2.4.0.r14093 [1]" 
    could not be resolved. Reason: Missing Constraint: Require-Bundle: 
    org.eclipse.core.runtime; bundle-version="0.0.0" 

は誰でも修正する方法を知っていますこのエラー?

多分それは、MANIFEST.MFには、次のバンドルを要求があるとしてバンドルは、org.eclipse.core.runtimeバージョンが含まれていないという事実に関連している:

Require-Bundle: org.eclipse.core.runtime,org.rodinp.core;visibility:=r 
    eexport,org.eventb.core.ast;visibility:=reexport,org.eventb.core.seqp 
    rover;visibility:=reexport 

答えて

5

バンドルは、あなたのように実行時のコアへの要件があります気づいた。インストールでバンドルがインストールされるだけで、有効であるとは限りません。バンドルの状態はdiagコマンドで確認できます。つまり、osgi> diag 1

実行可能にする必要があります。私はあなたのためにインストールされている状態にあると確信しています。バンドルとその状態の詳細については、Dude, where's my bundleを参照してください。

+1

問題のあるバージョンであるかどうかについての質問に加えて、Require-Bundleにバージョンを指定しないことは、どのバージョンのコアバンドルも機能することを意味します。エラーメッセージの「0.0.0」は同じことを言っています。バージョン0.0.0以上のバンドル(言い換えれば、すべてのバージョン)がこのトリックを行います。 –

+0

私は解決策を見つけました。私は分点から何かを期待していましたが、Eclipseの一部であるEquinoxではなく、 'org.eclipse.core.runtime'と明示的に言っていました。 – Kartoch

関連する問題