Получение каталога src в Eclipse IProject? - PullRequest
5 голосов
/ 16 октября 2010

Я пытаюсь программно получить доступ к каталогу src / в проекте Eclipse (типа IProject).

В основном моя проблема заключается в следующем:

  • ВХОД: IProject
  • OUTPUT: вернуть каталог src в этом IProject
  • Примечания: каталог src может называться как угодно (он не должен каждый раз быть "src" - это решается при создании проекта java)

Есть какие-нибудь указатели на то, как я могу это сделать?

Ответы [ 3 ]

8 голосов
/ 16 октября 2010
  1. Приведите IProject к IJavaProject.
  2. Получите массив IPackageFragmentRoot, используя getAllPackageFragmentRoots()
  3. Получите те, которые имеют getKind() == IPackageFragmentRoot.K_SOURCE
2 голосов
/ 09 апреля 2011

Последний ответ у меня не сработал для пункта номер один, но следующий сделал:

0 голосов
/ 07 августа 2012

У меня была такая же проблема, вот код:

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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...