2012-04-19 6 views
1

Eclipse 라이브러리의 일부 스크립트 또는 Java 메소드가 있는지 여부에 관계없이 다른 Java 프로젝트에서 Java 프로젝트를 작성하려고합니다. 이 대안은 이전에 수동으로 생성 된 프로젝트를 복제하는 것일 수 있습니다. 이것에 대한 접근이 있습니까?프로그래밍 방식으로 다른 프로젝트에서 Eclipse Java 프로젝트 작성

감사합니다.

+0

프로그래밍 방식으로 또는 수동으로 수행해야합니까? – Th0rndike

+1

비슷한 질문 http://stackoverflow.com/q/251807/858356 – cyberbemon

+0

나는 그것을 프로그래밍 방식으로하고 싶다. –

답변

1

난 당신이

1

알렉산더 파블로프의 대답에 추가 (IResource.copy에서 상속) IProject#copy를 사용할 수있다, 나는 약간의 추가 작업에 추가 (예 : 참조 프로젝트 등) 프로젝트 속성을 복사 할 필요가 있음을 발견 믿는다 프로젝트 파일 만 복사하면됩니다.

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; 
} 
관련 문제