Как преобразовать строку в тип IJavaProject? - PullRequest
2 голосов
/ 29 января 2010

Я разрабатываю плагин. В этом я беру проект как ввод из текстового поля, которое является строкой, но перед продолжением его необходимо преобразовать в тип IJavaProject. Как я могу это сделать?

Спасибо

Ответы [ 2 ]

2 голосов
/ 29 января 2010

Если projectName не существует, IProject, который является просто дескриптором, будет нулевым. IJavaProject также будет нулевым ... поэтому я бы не рекомендовал beny23 s решение .

Javadoc для JavaCore.create(IProject) гласит: «В настоящее время не выполняется проверка существования или природы Java этого проекта».

См. этот поток , чтобы создать Java-проект программно с нуля. Extract

final IJavaProject javaProject = JavaCore.create(project);
final IProjectDescription projectDescription =
  workspace.newProjectDescription(projectName);
projectDescription.setLocation(null);
project.create(projectDescription, new SubProgressMonitor(progressMonitor, 1));

Вы можете проверить, действительно ли он был создан с помощью:

IJavaProject.getUnderlyingResource().exists();

См. Также этот поток в качестве другого примера кода создания проекта Java.

Этот поток также создает проект, хотя его природа более полная, чем просто Java.

0 голосов
/ 29 января 2010

Следующее должно работать

IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
IJavaProject javaProject = JavaCore.create(project);
...