Как изменить путь IWorkspaceRoot в проекте Eclipse Plugin - PullRequest
1 голос
/ 15 июня 2011

Моя проблема - открыть проект из проекта Eclipse Plugin. У меня есть пример кода, который работает хорошо, но Мой проект не находится в рабочей области.Он находится в папке, которая находится в пути WorkspaceRoot.Я должен установить путь как «workspaceRootPath / AFolder» это возможно?

            IProgressMonitor progressMonitor = new NullProgressMonitor();
            IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
            IProject project = root.getProject(pName);
            project.open(progressMonitor);

Спасибо.

Ответы [ 2 ]

2 голосов
/ 20 июня 2011

ОК, краткий ответ: то, что вы хотите, невозможно. Корень рабочей области будет содержать .metadata и папки проекта (которые содержат файл .project). Eclipse не поддерживает workspaceRoot/dir/subproj1,subproj2 и т. Д.

Единственное, что вы можете сделать, это создать свои подпроекты в отдельных папках вне рабочей области, а затем создать проект в затмении, который указывает на внешний проект. Вам нужно дать им разные имена в рабочей области, даже если они одинаковы на диске: например: pass1/subProj1, pass2/subProj1 должны иметь имена subProj1 и subProj1_pass2 в рабочей области.

PW

0 голосов
/ 15 июня 2011

Взгляните на JavaCore класс jdt.

Только из моих воспоминаний я вспомнил, что метод create (ресурс IResource) создаст проект Java иззаданная папка.

Помогает ли это?


Редактировать

Чтобы ответить на вопрос с комментарием, вы можете сделать это следующим образом:

IPath path = Path.fromPortableString( "abc/def" );
IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
IFolder folder = workspaceRoot.getFolder( path );
IResource resource = folder;

например

...