jdt
とeclipse core
ライブラリを使用してプロジェクトを読み込むことができます。
次のコードを使用すると、ワークスペース内のすべてのプロジェクトを読み込むことができます。
IWorkspace workspace = ResourcesPlugin.getWorkspace();
IWorkspaceRoot root = workspace.getRoot();
// Get all projects in the workspace
IProject[] projects = root.getProjects();
次にパッケージとjavaファイルを取得できます。
IPackageFragment[] packages = JavaCore.create(project).getPackageFragments();
IPackageFragment mypackage = packages.get(0); // implement your own logic to select package
ICompilationUnit unit = mypackage.getCompilationUnits();
次にあなたがこのCompilationUnitオブジェクトはASTParserに渡すことができCompilationUnit
を取得するため、このICompilationUnitオブジェクトを使用することができます。
これはEclipseプロジェクトでのみ機能しますか?つまり、Javaプロジェクトではうまくいかないでしょうか? – bellpeace
jarファイルを持つことで、JavaプロジェクトでJDTを使用することはできません。 JDTを使用するには、プログラムをプラグイン(または少なくともOSGi対応アプリケーション)として実行する必要があります。 –
これで、Eclipseプロジェクトの場合のみ、この方法で.javaファイルをCompilationUnitに読み込むことができます。 FYIでは、setSource(char [])とsetEnvironmentメソッドを使用して、Eclipseプロジェクトの外でJDTを使用することができます。 (バージョン3.6より) – bellpeace