私のカスタムEclipseプラグインでは、Javaクラスの完全修飾クラス名をStringとして持ち、その実際のファイルパスを知りたいと思っています。実際には、そこにあるソースフォルダの名前を知りたいです。EclipseプラグインでJavaソースファイルの絶対パスを調べる方法は?
このクラスは、ワークスペース内の任意のJavaプロジェクトからのものです。ソースフォルダ名は任意です。
私はEclipse 3.6を使用しています。
ありがとうございます!
私のカスタムEclipseプラグインでは、Javaクラスの完全修飾クラス名をStringとして持ち、その実際のファイルパスを知りたいと思っています。実際には、そこにあるソースフォルダの名前を知りたいです。EclipseプラグインでJavaソースファイルの絶対パスを調べる方法は?
このクラスは、ワークスペース内の任意のJavaプロジェクトからのものです。ソースフォルダ名は任意です。
私はEclipse 3.6を使用しています。
ありがとうございます!
検索エンジンAPIを使用する必要があります。 org.eclipse.jdt.core.search.SearchEngine
を参照してください。
呼び出すことのできるさまざまな静的関数があり、それぞれ独自のオプションがあることがわかります。適切なorg.eclipse.jdt.core.search.SearchPattern
を作成し、スコープ(ワークスペース)とリクエスタ(すべての結果を収集するもの)とともに検索エンジンに渡す必要があります。
通常、JavaモデルのタイプにアクセスするためのパブリックAPIであるIType
のようなものがたくさんあります。 IType.getResource().getLocation()
に電話して、どのタイプのファイルシステムの場所を取得することができます。 getResourceメソッドはnullを返すことがあります。そのため、チェックする必要があります。
JavaクラスのIResource
にアクセスするには、JDT API stuffを使用する必要があります。そこからResource APIを使用して、含まれているフォルダや必要なものを取得できます。
ありがとうございました!これは非常に有望ですね。私は月曜日にそれを試すことができ、それが動作するかどうかを知らせます。あなたは特定の 'SearchEngine'メソッドを推奨できますか? –
Open Typeダイアログ(Control + Shift + T)同じSearchEngineを使用します。 – Ravi
@Raviはい、それは私が望んでいたものです! Btw、単に 'SearchEngine'クラスの新しいインスタンスを作成することはできますか、それともEclipseの工場から取得する必要がありますか? –