Reputation: 47111
I am trying to programmatically access the src/ directory in an Eclipse project (type IProject).
Basically, my problem is as follows:
Any pointers on how I can do this?
Upvotes: 5
Views: 2731
Reputation: 3437
I had the same issue, here is code:
if (project == null) return null;
List<IJavaElement> ret = new ArrayList<IJavaElement>();
IJavaProject javaProject = JavaCore.create(project);
try {
IPackageFragmentRoot[] packageFragmentRoot = javaProject.getAllPackageFragmentRoots();
for (int i = 0; i < packageFragmentRoot.length; i++){
if (packageFragmentRoot[i].getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT && !packageFragmentRoot[i].isArchive())
ret.add(packageFragmentRoot[i]);
}
} catch (JavaModelException e) {
e.printStackTrace();
return null;
}
return ret;
Upvotes: 0
Reputation: 3096
The last answer did not work for me for the point number one, but following did:
IProject project = ...
if (project.isOpen() && JavaProject.hasJavaNature(project))
{
IJavaProject javaProject = JavaCore.create(project);
...
}
Upvotes: 2
Reputation: 24788
IProject
to IJavaProject
.IPackageFragmentRoot
using getAllPackageFragmentRoots()
getKind() == IPackageFragmentRoot.K_SOURCE
Upvotes: 8