4

私はこれを何時間もグーグルで検索しましたが、役に立つものは何も見つかりませんでした。私はいくつかのOSGiバンドルを開発しましたが、EclipseIDEの外部のequinoxコンテナーでそれらを実行したいのですが、常に例外がスローされます。

!SESSION 2011-01-03 14:26:58.958 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_20
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_CH
Framework arguments:  -Dosgi.clean=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true -console;
Command-line arguments:  -consoleLog -Dosgi.clean=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true -console;

!ENTRY org.eclipse.osgi 4 0 2011-01-03 14:26:59.567
!MESSAGE Error starting bundle: initial@reference:file:javax.transaction_1.1.1.v201006150915.jar/
!STACK 0
org.osgi.framework.BundleException: A fragment bundle cannot be started: javax.transaction_1.1.1.v201006150915 [49]
        at org.eclipse.osgi.framework.internal.core.BundleFragment.startWorker(BundleFragment.java:228)
        at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.startBundle(EclipseStarter.java:1133)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.startBundles(EclipseStarter.java:1126)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.loadBasicBundles(EclipseStarter.java:646)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:301)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:175)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.main(EclipseStarter.java:150)
init dd core...

!ENTRY org.eclipse.osgi 4 0 2011-01-03 14:26:59.773
!MESSAGE Bundle javax.transaction_1.1.1.v201006150915 [49] is not active.

(「initddcore ...」というテキストは私のプロジェクトから適切に取得されています。)

私は次のファイル構造を持っています:

+configuration
 +config.ini
+ch.thobens.dd.commands_1.0.0.jar
+ch.thobens.dd.common.items_1.0.0.jar
+ch.thobens.dd.core_1.0.0.jar
+ch.thobens.dd.game_1.0.0.jar
+javax.transaction_1.1.1.v201006150915.jar
+org.eclipse.core.contenttype_3.4.100.v20100505-1235.jar
+org.eclipse.core.jobs_3.5.0.v20100515.jar
+org.eclipse.core.runtime.compatibility.auth_3.2.200.v20100517.jar
+org.eclipse.core.runtime.compatibility.registry_3.3.0.v20100520/runtime_registry_compatibility.jar
+org.eclipse.core.runtime_3.6.0.v20100505.jar
+org.eclipse.equinox.app_1.3.0.v20100512.jar
+org.eclipse.equinox.common_3.6.0.v20100503.jar
+org.eclipse.equinox.preferences_3.3.0.v20100503.jar
+org.eclipse.equinox.registry_3.5.0.v20100503.jar
+org.eclipse.osgi.services_3.2.100.v20100503.jar
+org.eclipse.osgi_3.6.0.v20100517.jar

config.iniファイルには次の内容が含まれています。

osgi.bundles=javax.transaction_1.1.1.v201006150915.jar@start, org.eclipse.core.contenttype_3.4.100.v20100505-1235.jar@start, org.eclipse.core.jobs_3.5.0.v20100515.jar@start, org.eclipse.core.runtime.compatibility.auth_3.2.200.v20100517.jar@start,org.eclipse.core.runtime.compatibility.registry_3.3.0.v20100520/runtime_registry_compatibility.jar@start, org.eclipse.core.runtime_3.6.0.v20100505.jar@start, org.eclipse.equinox.app_1.3.0.v20100512.jar@start, org.eclipse.equinox.common_3.6.0.v20100503.jar@2:start, org.eclipse.equinox.preferences_3.3.0.v20100503.jar@start, org.eclipse.equinox.registry_3.5.0.v20100503.jar@start, org.eclipse.osgi.services_3.2.100.v20100503.jar@start, ch.thobens.dd.commands_1.0.0.jar@start, ch.thobens.dd.common.items_1.0.0.jar@start, ch.thobens.dd.core_1.0.0.jar@start, ch.thobens.dd.game_1.0.0.jar@1:start
eclipse.ignoreApp=true
osgi.noShutdown=true

ここにリストされているバンドルは、実行構成で「必要なプラグインの追加」を選択した場合に選択されるバンドルと同じです。これらのバンドルをEclipsePDEから実行すると、正常に機能します。

さらに、コマンドの実行に違いはありません

java -jar org.eclipse.osgi_3.6.0.v20100517.jar -consoleLog -Dosgi.clean=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true

そして、私が分点ランチャーを使用するとき(eclipse.exe経由)。

助けてくれてありがとう

4

1 に答える 1

6

私は解決策を見つけました(日食製品のエクスポーターを介して):

javax.transaction_1.1.1.v201006150915.jarは、OSGiバンドル自体ではなく、OSGiフレームワーク拡張機能です。

config.iniファイルを変更する必要がありました。

  1. プロパティosgi.bundlesのjavax_transactionバンドルのエントリを削除します
  2. 次の行を追加しました。

    osgi.framework.extensions = javax.transaction_1.1.1.v201006150915.jar

于 2011-01-03T15:09:54.630 に答える