我正在尝试通过编程方式将项目导入到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
文件,但我没有获得源文件夹等。
答案 0 :(得分:11)
使用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());
答案 1 :(得分:1)
你可能错过
的一行segment.fighters
答案 2 :(得分:0)
您的代码似乎没问题。您无法获得源文件夹,这究竟是什么意思?你试过刷新项目吗?
project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
答案 3 :(得分:-1)
我能够使用以下代码将焦点设置为新导入的项目:
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);