Getting src directory in an Eclipse IP project?

I am trying to programmatically access the src / directory in an Eclipse project (type IProject).

Basically, my problem is this:

  • INPUT: IProject
  • OUTPUT: return the src directory to this IProject
  • Notes: the src directory can be called anything else (it does not have to be "src" every time - this is decided when creating the java project)

Any pointers on how I can do this?

+4
source share
3 answers
  • Insert IProject into IJavaProject .
  • Get an array of IPackageFragmentRoot using getAllPackageFragmentRoots()
  • Get one that has getKind() == IPackageFragmentRoot.K_SOURCE
+7
source

The last answer did not work for me at number one, but the following:

 IProject project = ... if (project.isOpen() && JavaProject.hasJavaNature(project)) { IJavaProject javaProject = JavaCore.create(project); ... } 
+2
source

I had the same problem, here is the 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; 
0
source

All Articles