3

.zipプログラムでアーカイブ ファイル (a) から Eclipse プロジェクトをインポートする方法を見つけようとしています。本当に長く感じます)。関連する質問をいくつか見つけました (例: Programmatically importing an existing project into Eclipse ) が、同じ種類のものをインポートで機能させる方法がわかりません.zip

.zip私の現在の考えは次のとおりです。何らかの方法でプロジェクトの説明を取得できれば、プログラムでプロジェクトを作成できます(参照されている質問に従って)。そこから、次のことができることを願っています。

これは意味がありますか?(そうでない場合は、どうすればよいですか?) もしそうなら、プロジェクトの説明を から取得するにはどうすればよい.zipですか?

4

1 に答える 1

3

それだけの価値があるため、これはうまくいくようです(事前整理):

IWorkspace workspace = this.project.getWorkspace();
IProjectDescription newProjectDescription = workspace.newProjectDescription(projectName);
IProject newProject = workspace.getRoot().getProject(projectName);
newProject.create(newProjectDescription, null);
newProject.open(null);

zipFile = new ZipFile(workspace.getRoot().getLocation() + "/" + projectName + ".zip");
IOverwriteQuery overwriteQuery = new IOverwriteQuery() {
    public String queryOverwrite(String file) { return ALL; }
};
ZipLeveledStructureProvider provider = new ZipLeveledStructureProvider(zipFile);
List<Object> fileSystemObjects = new ArrayList<Object>();
Enumeration<? extends ZipEntry> entries = zipFile.entries();
while (entries.hasMoreElements()) {
    fileSystemObjects.add((Object)entries.nextElement());
}
ImportOperation importOperation = new ImportOperation(newProject.getFullPath(), new ZipEntry(projectName), provider, overwriteQuery, fileSystemObjects);
importOperation.setCreateContainerStructure(false);
importOperation.run(new NullProgressMonitor());
于 2012-09-18T21:42:45.930 に答える