IPackageFragment не открывается при попытке получить IPackageFragment с именем pacakge

1

С приведенным ниже кодом я пытаюсь получить элемент IPackageFragment для данного имени пакета. Но toString() возвращаемого IPackageFragment - com.abc.def (не открыто). Из-за этого, когда я пытаюсь получить доступ к методам всех классов в этом пакете, я получаю JavaModelException.

Примечание. Я могу открывать и просматривать java файлы в этом пакете в eclipse. Не могли бы кто-нибудь рассказать, что не так с этим пакетом.

private IPackageFragment getPackage(String name)
  throws Exception
{
  IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots();
  for (int ii = 0; ii < roots.length; ii++){
    IPackageFragment fragment = roots[ii].getPackageFragment(name);
    if(fragment != null && fragment.exists()){
      return fragment;
    }
  }
  return null;
}
Теги:
eclipse-plugin

1 ответ

0

Элементы фрагментов пакета необходимо открыть, прежде чем их можно будет перемещать или манипулировать. Вы должны вызвать open() в фрагменте пакета, прежде чем вы сможете получить доступ к элементам в фрагменте пакета.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню