2010-12-02 9 views
3

解決済みの状態からACTIVEに移行しないEclipseプラグインバンドルがあります。EclipseプラグインがRESOLVEDからACTIVEに移動しない

私は、OSGIコンソールを開いて、バンドルが起動しないのに何の問題もないように見えました。私が "start bundleid"とタイプすると、期待通りに始まります。

バンドルは、Eclipseワークスペースの起動時にタスクを実行するために使用している'org.eclipse.ui.startup'拡張ポイントを使用しています。

これは、使用中のマニフェストである:

Manifest-Version: 1.0 
Bundle-ManifestVersion: 2 
Bundle-Name: My Bundle 
Bundle-SymbolicName: com.joejag.bundle;singleton:=true 
Bundle-Version: 1.1.0.qualifier 
Bundle-Activator: com.joejag.bundle.Activator 
Require-Bundle: org.eclipse.ui, 
org.eclipse.core.runtime, 
org.eclipse.core.resources 
Bundle-Vendor: Joejag 
Bundle-RequiredExecutionEnvironment: J2SE-1.5 

束が他のユーザーによって使用されることが意図されます。 OSGIコンソールを起動してバンドルを手動で起動するように依頼することは実行可能な解決策ではありません。

これは私がこの件に関して助けになることができる最も近くのものであり、あまり役に立ちません。Wiki Eclipseを参照してください。

+0

なぜこのバンドルをアクティブにする必要がありますか?それがアクティブでないために発生したエラーは何ですか?これに対する答えが「なし」の場合、心配することはありません。 RESOLVEDはエラー状態ではありません。 –

+0

このバンドルには、起動時に実行したいコードが含まれています。プラグインがACTIVE状態になるまで起動コードは実行されません。 – joejag

+0

起動時にコードを実行するのは、一般的にEclipseで悩まされており、うまくサポートされていません。これは、起動時に何かをするとEclipseが少し遅く始まるからです。 1つのバンドルだけではそれほど悪くはないかもしれませんが、起動時に何百ものバンドルが何かしたいと思っていたと想像してください... Eclipseには数時間かかるでしょう! –

答えて

5

プラグインを自動起動する必要があり、プラグインをp2経由でインストールすると予想される場合は、p2.infファイルを追加する必要があります。このファイルには、追加のインストール手順が含まれています。 p2.infファイルに

instructions.configure = setStartLevel(startLevel:4); 
markStarted(started: true); 

詳しい情報をhereを見つけることができます:

は、あなたのプラグインのメタデータディレクトリに次のp2.infファイルを追加します。

+0

これは非常に有望ですね、私はこれを試してみましょう感謝します。 – joejag

+0

ちょうどそれを試してみました。魅力を発揮しました。 Andrewにありがとう。 – joejag

1

Eclipseアプリケーションを起動しようとします。その場合は、Eclipseアプリケーションの起動設定に入り、そこにプラグインタブを設定してください。パラメータをデフォルトの自動起動trueに設定してもう一度試してください。

+0

ありがとうございます。これは一度プラグインがEclipse自体からではなく、Updatesite経由でインストールされていますが。 – joejag

関連する問題