2

機能に基づいて Maven/Tycho を使用して Eclipse RCP アプリケーションを構築しようとしています。私のアプリケーションは、エディター (Xtext の助けを借りて構築) と、プロジェクトに依存する他のいくつかのプラグインを備えた単純な言語です。Eclipse RCP アプリケーションの作成方法を説明するいくつかのハウツーがあります。

http://mattiaholmqvist.se/2010/03/building-with-tycho-part-2-rcp-applications/

また

https://kthoms.wordpress.com/2010/11/12/setting-up-a-rcp-product-for-a-dsl/

これまでのところ、私は何をしましたか:

  1. feature.xml を含むプラグイン プロジェクトを作成しました。feature.xml は、言語プラグインとその依存関係で構成されています

  2. 製品定義を含むプラグイン プロジェクトを作成しました。製品定義は、プラグイン プロジェクト名にちなんで命名されます (Mattias Homlqvist (この投稿の最初のリンク) は、Tycho が (プラグイン プロジェクト名に関連して) 製品ファイル名について仮定を行っていることを強調しています)。製品定義では、新しい製品を作成し、「org.eclipse.ui.ide.workbench」アプリケーションを指しています。また、機能プラグインと org.eclipse.pde および org.eclipse.rcp 機能をエディターの依存関係タブに追加しました。

製品を実行しようとすると、例外が発生します。

java.lang.RuntimeException: No application id has been found.
    at org.eclipse.equinox.internal.app.EclipseAppContainer.
      startDefaultApp(EclipseAppContainer.java:242)
    at org.eclipse.equinox.internal.app.MainApplicationLauncher.
      run(MainApplicationLauncher.java:29)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.
      runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.
      start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.
      run(EclipseStarter.java:344)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.
      run(EclipseStarter.java:179)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.
      invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.
      invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1386)

さて、何かがひどく間違っていました。現在、必要なすべてのプラグインが「プラグイン」タブの実行構成ダイアログに追加されているかどうかを確認しています。そのため、製品と機能のプラグインは選択されていません。「必要なプラグインを追加」を押すと、製品プラグインが追加され、「プラグインの検証」を押すとポップアップが表示され、「問題は検出されませんでした」と表示されます。製品を再度実行しようとすると、同じ例外が発生します。製品定義エディターで「同期」を押すと、行った変更が元に戻されます (製品と機能の選択が解除されます)。なぜでしょうか?

Maven/Tycho ビルド自体は機能しているようです。プロジェクトをビルドしようとしている場合

mvn install 

対応するプラットフォーム用の zip ファイルが作成されます。残念ながら、問題はまだ存在し、ビルドは実行できません。したがって、機能および/または製品プラグイン プロジェクトでひどい間違いを犯した可能性があります。たぶん、誰かがアイデアを持っているか、私を正しい方向に向けることができますか?

前もって感謝します!

4

2 に答える 2

1

製品は「機能ベース」である必要があり、機能には、plugin.xmlに追加したものと同じプラグインを追加する必要があります。
さらに、「含まれる機能」タブにorg.eclipse.rcp機能を追加する必要があります。

于 2011-10-27T11:05:11.153 に答える
1

同様の問題があり、実行構成の「プラグイン」タブで「新しいワークスペースプラグインをこの起動構成に自動的に追加する」をチェックするとうまくいきました。

自動開始を確認することもできます(私にとっては、「デフォルト」が機能しました)。

よろしくお願いします。

于 2011-10-21T14:22:51.520 に答える