2012-04-19 66 views
1

我想从另一个Java项目创建一个Java项目,使用Eclipse库中的一些脚本或Java方法(无论它是否存在)。此替代可以复制以前手动创建的项目。有没有办法呢?从另一个项目创建一个Eclipse Java项目,编程式

谢谢。

+0

您需要以编程方式或手动执行此操作吗? – Th0rndike 2012-04-19 15:32:28

+1

类似的问题http://stackoverflow.com/q/251807/858356 – cyberbemon 2012-04-19 15:34:03

+0

我想以编程方式做到这一点。 – 2012-04-20 10:34:53

回答

1

添加到亚历山大·巴甫洛夫的答案,我发现一些额外的工作需要,除了复制的项目属性(如引用的项目)只是复制项目文件。

public static IProject copyProject(String projectName) throws CoreException { 
    IProgressMonitor m = new NullProgressMonitor(); 
    IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot(); 
    IProject project = workspaceRoot.getProject(projectName); 
    IProjectDescription projectDescription = project.getDescription(); 
    String cloneName = projectName + "_copy"; 
    // create clone project in workspace 
    IProjectDescription cloneDescription = workspaceRoot.getWorkspace().newProjectDescription(cloneName); 
    // copy project files 
    project.copy(cloneDescription, true, m); 
    IProject clone = workspaceRoot.getProject(cloneName); 
    // copy the project properties 
    cloneDescription.setNatureIds(projectDescription.getNatureIds()); 
    cloneDescription.setReferencedProjects(projectDescription.getReferencedProjects()); 
    cloneDescription.setDynamicReferences(projectDescription.getDynamicReferences()); 
    cloneDescription.setBuildSpec(projectDescription.getBuildSpec()); 
    cloneDescription.setReferencedProjects(projectDescription.getReferencedProjects()); 
    clone.setDescription(cloneDescription, null); 
    return clone; 
}