2012-06-01 18 views
5

私のカスタムEclipseプラグインでは、Javaクラスの完全修飾クラス名をStringとして持ち、その実際のファイルパスを知りたいと思っています。実際には、そこにあるソースフォルダの名前を知りたいです。EclipseプラグインでJavaソースファイルの絶対パスを調べる方法は?

このクラスは、ワークスペース内の任意のJavaプロジェクトからのものです。ソースフォルダ名は任意です。

私はEclipse 3.6を使用しています。

ありがとうございます!

答えて

2

検索エンジンAPIを使用する必要があります。 org.eclipse.jdt.core.search.SearchEngineを参照してください。

呼び出すことのできるさまざまな静的関数があり、それぞれ独自のオプションがあることがわかります。適切なorg.eclipse.jdt.core.search.SearchPatternを作成し、スコープ(ワークスペース)とリクエスタ(すべての結果を収集するもの)とともに検索エンジンに渡す必要があります。

通常、JavaモデルのタイプにアクセスするためのパブリックAPIであるITypeのようなものがたくさんあります。 IType.getResource().getLocation()に電話して、どのタイプのファイルシステムの場所を取得することができます。 getResourceメソッドはnullを返すことがあります。そのため、チェックする必要があります。

+0

ありがとうございました!これは非常に有望ですね。私は月曜日にそれを試すことができ、それが動作するかどうかを知らせます。あなたは特定の 'SearchEngine'メソッドを推奨できますか? –

+0

Open Typeダイアログ(Control + Shift + T)同じSearchEngineを使用します。 – Ravi

+0

@Raviはい、それは私が望んでいたものです! Btw、単に 'SearchEngine'クラスの新しいインスタンスを作成することはできますか、それともEclipseの工場から取得する必要がありますか? –

2

JavaクラスのIResourceにアクセスするには、JDT API stuffを使用する必要があります。そこからResource APIを使用して、含まれているフォルダや必要なものを取得できます。

関連する問題