2012-09-13 38 views
11

我试图通过编程方式将项目导入到eclipse。我不想使用UI模式。以编程方式将现有项目导入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文件,但我没有得到源文件夹和等

+0

行确定该项目,你是导入已经是一个Java项目? ie-是否存在预先存在的.project文件,并且它是否具有Java自然语言和java构建器? –

+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()); 
0

你的代码似乎很好。你到底意味着什么你无法获得源文件夹?您是否尝试刷新该项目?

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

+0

是的。没有得到源文件夹 – user1584844

+0

那么如果你没有提供进一步的源代码(获取源文件夹代码),我将无法为你提供帮助。 –

0

你可能缺少与

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