Programmatically importing an existing project int

2019-01-22 14:31发布

I am trying to importing the project to eclipse through programmatically. I dont want to use UI mode.

Below is the code I used for importing the project:

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

I'm getting only the project folder along with .location file, .markers.snap file and .syncinfo.snap files, but I am not getting the source folder and etc.

3条回答
闹够了就滚
2楼-- · 2019-01-22 15:09

Use org.eclipse.ui.wizards.datatransfer.ImportOperation

Try something like this:

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());
查看更多
Emotional °昔
3楼-- · 2019-01-22 15:12

You're probably missing a line with

description.setLocation(new Path("/absolute/path/to/project/folder"));
查看更多
smile是对你的礼貌
4楼-- · 2019-01-22 15:31

Your code seems to be fine. What do you exactly mean by you couldn't get the source folder? Have you tried to refresh the project?

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

查看更多
登录 后发表回答