2010-01-29 3 views
2

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

Благодаря

ответ

2

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

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

См. this thread для создания Java-проекта программно с нуля. Экстракт

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(); 

Смотрите также this thread как еще один пример кода создания Java Project.

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

0

должно работать

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

@ beny23 - спасибо большое – Steven

+0

Эй, beny23 .... я использовал этот код ... но когда я использую javaProject.open (monitor); где монитор имеет тип IProgressMonitor его выброс исключение ... – Steven

Смежные вопросы