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;
source share