我试图导入项目以编程蚀通过。 我不想使用的用户界面模式。
下面是我用来导入该项目的代码:
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
文件,但我没有得到源文件夹等。
使用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());
你可能缺少一条线
description.setLocation(new Path("/absolute/path/to/project/folder"));
您的代码似乎是罚款。 那你完全按你的意思是不能得到的源文件夹? 您是否尝试刷新该项目?
project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
我可以使用下面的代码将焦点设置到一个新导入的项目:
IProjectDescription description = ResourcesPlugin
.getWorkspace()
.loadProjectDescription(new Path("PROJECT_PATH/.project"));
description.setLocation(new Path("/absolute/path/to/project/folder"));
IProject project = ResourcesPlugin
.getWorkspace()
.getRoot()
.getProject(description.getName());
project.create(description, null);
project.open(null);