2

質問

プラグイン/拡張機能として作成したクラスパス コンテナーが与えられた場合、それを自動的にクラスパスに追加するにはどうすればよいですか?

バックグラウンド

私は経験豊富な Java 開発者ですが、Eclipse プラグインを作成するのはまったく初めてです。私はグーグルで、チュートリアルに従って、他のプラグインのソースコードを数日間読んでいます。自分が何をしたいのかは正確にわかっていますが、それをどのように行うかは正確にはわかっていません。

現在、Eclipse で、リソースをクリックして [Run as JUnit test] を選択すると、次のようになります。


どういうわけか、私の写真はもう機能しません。 私はこれをすぐに修正します...


舞台裏では、m2eclipse プラグインが何らかの方法で、次のような「Maven Dependencies」クラスパス コンテナーを含む実行構成を生成します。

代替テキスト

私の推測では、「Maven Dependencies」クラスパス コンテナーは、M2Eclipse プラグインで使用されている拡張ポイントを介して追加されます。同様に、ユーザーが JUnit テストを実行するたびに、クラスパス コンテナーを自動的に追加したいので、"User Entries" の下に表示されます。そのようなことを実現するために、どの拡張ポイントを使用できますか? 私はorg.eclipse.jdt.core.classpathContainerInitializerを見てきましたが、それが私が必要とすることをするかどうかはわかりません。


理想的な結果

理想的には、プロジェクトのビルド パスのすべてのエントリを取得し、それを実行構成のクラスパスに追加するプラグインを作成したいと思います (新しい起動構成が[Run As] > [JUnit test ] で作成されるたびに)。これは Eclipse のデフォルトの動作であるべきですが、そうではありません!

私の次善の策は、カスタム クラスパス コンテナーを実行構成のビルド パスに自動的に追加することです。結局のところ、私たちのチームが実行/起動するすべての Java コードに対して 1 つのクラスパスが必要なだけです。これはそれほど難しくないはずです!

これを達成する方法についてのアドバイスをいただければ幸いです。特定の拡張ポイントがどのように使用されることを意図しているかを理解するためにどこを見ればよいかについての基本的な指針さえあります (基本的な JavaDocs API はひどいものです)。ありがとう、

  • g男性
4

2 に答える 2

1

Roostergx は、答えの一部 (つまり、クラスパス コンテナーの作成方法) を提供します。あなたが認めるように、2番目の部分はそれを自動的に追加する方法です。

org.eclipse.ui.startup という拡張ポイントを使用することをお勧めします。これにより、Eclipse の起動時に (ほぼ) できるだけ早く実行されるコードを提供できます。起動するたびに、すべてのプロジェクトを反復処理して、作成したクラスパス コンテナーが既存のプロジェクトで必要かどうかを確認できます。

于 2011-04-08T15:07:35.410 に答える
0

http://www.ibm.com/developerworks/opensource/tutorials/os-eclipse-classpath/index.htmlの記事は、すべてのjarファイルを含むプロジェクト固有のクラスパスコンテナーを定義するプラグインの優れた説明とソースを提供します。指定されたディレクトリにあります。

于 2011-01-03T15:08:20.030 に答える