2008-10-30 8 views
15

이클립스를 사용하여 원래 일식과 독립적으로 생성 된 응용 프로그램에서 작업합니다. 따라서 응용 프로그램의 디렉토리 구조가 확실히 일식 적이 지 않습니다.프로그래밍 방식으로 Eclipse 프로젝트 생성

응용 프로그램에 대한 프로젝트를 프로그래밍 방식으로 생성하려고합니다. .project.classpath 파일을 알아낼 수있을만큼 쉽게, 그리고 내가 프로젝트 불행하게도 <workspace>/.metadata/.plugins/org.eclipse.core.resources/.projects

아래에있는 작업 공간에 저장되는 것을 배웠어요, 여기에 아래의 파일 중 일부가 (특히 .location)는 어떤 종류의 인코딩 된 것 같다 바이너리 형식. 직감에 나는 ObjectInputStream을 사용하여 그것을 역 직렬화하려고했습니다 - 주사위가 없습니다. 그래서 그것은 직렬화 된 자바 객체로 보이지 않습니다.

내 질문은 : 이러한 파일을 자동으로 생성하는 방법이 있습니까?

java.io.StreamCorruptedException: java.io.StreamCorruptedException: invalid stream header: 40B18B81

업데이트 : 호기심에 대한

, 나는이 .location 파일을 역 직렬화하려고 얻을 오류는 다음과 여기 내 목표는 함께 새 자바 프로젝트 마법사를 대체 할 수있을 것입니다 명령 행 스크립트 또는 프로그램. 그 이유는 문제의 애플리케이션이 실제로 매우 큰 J2EE/weblogic 애플리케이션인데, 나는 하위 프로젝트 모음 인 largish (거의 20 개)로 나누기를 좋아한다. 문제가 복잡해지면서 SCM에 대해 ClearCase를 사용하고 모든 릴리스에 대해 새 분기를 만듭니다. 이것은 내가 만든 모든 개발 뷰 (브랜치)에 대해 이러한 프로젝트를 다시 만들어야 함을 의미합니다. 이것은 자주 자동화하기에 충분합니다.

답변

18

작은 이클립스 플러그인을 작성하여이 작업을 수행 할 수 있어야합니다. "헤드리스"RCP 앱으로 확장 할 수도 있고 필요한 명령 행 인수를 전달할 수도 있습니다.

프로젝트를 생성하는 베어 본 코드는 다음과 같습니다

IProgressMonitor progressMonitor = new NullProgressMonitor(); 
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); 
IProject project = root.getProject("DesiredProjectName"); 
project.create(progressMonitor); 
project.open(progressMonitor); 

그냥 당신에게 함께 갈 수있는 위치의 더 나은 아이디어를 제공하기 위해 프로젝트 가져 오기 마법사의 일식 코드를 살펴.

+0

감사합니다. 시도해 보겠습니다. –

+0

이 프로젝트 작성 방법은 Eclipse 플러그인 프로젝트에서 작동합니다. 독립 실행 형 Java 프로젝트에서 Java 프로젝트를 만들 수있는 방법이 있습니까? 단순히 그것을 실행하여 메인 클래스에서 프로젝트를 만드는 것을 의미합니다. 미리 감사드립니다. –

+0

IProject를 유형으로 확인할 수 없습니까? –

2

사용 AntEclipse

그것은 개미에서 이클립스 프로젝트를 만들 수 있습니다.

관련 문제