私はe4
RCPのEclipseの概念を理解しようとしています。
チュートリアルに従って読んだ後、私は次のことに固執します:プロジェクト
を作成すると仮定しますPlugin
(リッチクライアントがチェックされていない、Actvatorがチェックされていないため、/ srcの下にクラスがないなど)
プラグインはEclipseの最小のデプロイ可能およびインストール可能なソフトウェアコンポーネントです。Ok。これで、またはに基づくを
作成できます。
したがって、はプラグインなどを提供し、私が正しく理解していれば、これはオプションです。私が正しいと仮定して(わかりません、私ですか?)、依存関係を製品構成に追加します。そして、を押します。私の製品構成はプラグインベース
として選択されています。Product Configuration
Plugins
Features
Product Configuration
Feature
org.eclipse.emf.common
org.eclipse.emf.ecore
Add Required Plugins
この時点で私が理解していないのは、プラグインを依存関係の一部として定義しないと、アプリケーションを実行したときにプラグインが見つからないということです(実行前にプラグインの検証を確認しました)。しかし、なぜ?プラグインは、製品定義で「プラグインの定義」としてすでに定義されています(新規)。ここにも明示的に追加する必要があるのはなぜですか?
とにかくそれを通過して、ウィンドウを起動しようとすると(はい、作成しNew Application Model
て定義しましたTrimmed Window
)、ランタイム例外が発生します
java.lang.RuntimeException: Application "org.eclipse.e4.ui.workbench.swt.E4Application" could not be found in the registry. The applications available are: org.eclipse.equinox.app.error.
at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:248)
at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:29)
私はこれがプラグインが欠落しているために起こると推測することができます:( org.eclipse.e4.ui.workbench.swt
プラグインの検証を有効にしたためにこれを取得しました)
なぜこの例外が発生するのですか?org.eclipse.e4.rcp
as依存関係を追加していないので、取得できると思います。
しかし、私はそれをオプションとして見つけることができません。これは、製品構成がである場合にのみ選択できることがわかりましたbased on Features
。プラグインでは使用できません。
さらに、同じプロセスですが、製品構成への依存関係として定義し、Feature
それを「アタッチ」します。つまり、ランタイム例外はなく、ウィンドウが表示されます。
では、何が起こっているのでしょうか。機能は必須ですか?理解できない。それらはオプションだと思いました。誰かが私がこれを理解するのを手伝ってもらえますか?
更新:
依存関係として
手動で追加した場合org.eclipse.e4.ui.workbench.swt
(および必要な追加を押した場合)、次のproduct
ようになります。
!ENTRY org.eclipse.osgi 2 0 2012-08-20 18:36:52.044
!MESSAGE One or more bundles are not resolved because the following root constraints are not resolved:
!SUBENTRY 1 org.eclipse.osgi 2 0 2012-08-20 18:36:52.044
!MESSAGE Bundle initial@reference:file:plugins/org.eclipse.e4.ui.workbench.swt_0.10.1.v20120525-2014.jar was not resolved.
!SUBENTRY 2 org.eclipse.e4.ui.workbench.swt 2 0 2012-08-20 18:36:52.044
!MESSAGE Missing required bundle org.eclipse.core.databinding_[1.2.0,2.0.0).