13

我正在尝试以编程方式将项目导入 Eclipse。我不想使用 UI 模式。

以下是我用于导入项目的代码:

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文件,但我没有得到源文件夹等。

4

3 回答 3

13

利用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());
于 2012-09-14T18:44:34.087 回答
1

你可能错过了一行

description.setLocation(new Path("/absolute/path/to/project/folder"));
于 2016-02-25T14:36:51.023 回答
0

您的代码似乎很好。您无法获取源文件夹到底是什么意思?您是否尝试过刷新项目?

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

于 2012-09-13T08:14:18.737 回答