2

私はこの問題をかなり探してきましたが、適切な解決策やこの問題を管理する方法を実際に見つけることができません。

Xtext と Xtend を介してコードを生成するための簡単な DSL を作成しました。オプションで、Xtext の UI プロジェクトでプロジェクト ウィザードを使用して、文法とプラグイン用の個別のプロジェクトを作成できます。プロジェクトを簡単に作成できますが、クライアント プロジェクトのクラス パスにいくつかの重要な依存関係を追加する必要があります。特に .jar のパスが絶対パスでない場合は、もう少し注意が必要です。

ただし、これはおそらく解決するのがかなり明白です。

どんな助けにも感謝します!! ありがとうございました :)

4

1 に答える 1

0

プレーンな Java プロジェクト (Eclipse プラグイン プロジェクトや Maven/Gradle プロジェクトではない) について話していると仮定すると、クラスパス コンテナーを作成できます (すべての Java プロジェクトに存在する「JRE System Library」コンテナーに似ています)。

実用的で簡単にアクセスできる例は、Xtend Library コンテナーです。

重要な手順は次のとおりです。

  1. ライブラリを Eclipse プラグインに変換し、これを DSL 機能の一部にします
  2. UI プラグインでIClasspathContainer、Eclipse プラグイン メカニズムを使用して JAR ファイルの場所を取得する実装を作成します。
  3. 実装ClasspathContainerInitializerのインスタンスを作成するサブクラスを作成しますIClasspathContainer
  4. IClasspathContainerPageプロジェクト設定の [Java ビルド パス] -> [ライブラリ] ページを使用して、ユーザーがライブラリを追加するための小さなウィザード ページを作成します。
  5. org.eclipse.jdt.core.classpathContainerInitializerおよびorg.eclipse.jdt.ui.classpathContainerPage拡張ポイントを使用して、UI プロジェクトの plugin.xml にすべてを登録します。

Xtend UI には、いくつかの拡張機能もあります。たとえば、ライブラリを追加するためのクイック フィックス(クライアント プロジェクトとして Eclipse プラグイン プロジェクトのケースも処理します)。

于 2016-11-15T18:41:59.820 に答える