Программный импорт существующего проекта в Eclipse

Я пытаюсь импортировать проект, чтобы затмить через программный. Я не хочу использовать режим пользовательского интерфейса.

Ниже приведен код, который я использовал для импорта проекта:

IProjectDescription description = ResourcesPlugin.getWorkspace().loadProjectDescription(  new Path("PROJECT_PATH/.project"));
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(description.getName());
project.create(description, null);
project.open(null);

Я получаю только папку проекта вместе с файлами .location file, .markers.snap и .syncinfo.snap, но я не получаю исходную папку и т.д.

Ответ 1

Используйте org.eclipse.ui.wizards.datatransfer.ImportOperation

Попробуйте что-то вроде этого:

IOverwriteQuery overwriteQuery = new IOverwriteQuery() {
        public String queryOverwrite(String file) { return ALL; }
};

String baseDir = // location of files to import
ImportOperation importOperation = new ImportOperation(project.getFullPath(),
        new File(baseDir), FileSystemStructureProvider.INSTANCE, overwriteQuery);
importOperation.setCreateContainerStructure(false);
importOperation.run(new NullProgressMonitor());

Ответ 2

Ваш код выглядит нормально. Что вы точно имеете в виду, вы не могли получить исходную папку? Вы пытались обновить проект?

project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());

Ответ 3

Вероятно, вам не хватает строки с

description.setLocation(new Path("/absolute/path/to/project/folder"));