13

私はプログラムで日食するためにプロジェクトをインポートしようとしています。UIモードは使いたくない。

以下は、プロジェクトのインポートに使用したコードです。

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.snapfile、 filesとともにプロジェクトフォルダのみを取得して.syncinfo.snapいますが、ソースフォルダなどを取得していません。

4

3 に答える 3

13

使用する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());
于 2012-09-14T18:44:34.087 に答える
1

あなたはおそらくとの行を逃しています

description.setLocation(new Path("/absolute/path/to/project/folder"));
于 2016-02-25T14:36:51.023 に答える
0

あなたのコードは問題ないようです。ソースフォルダを取得できなかったとはどういう意味ですか?プロジェクトを更新しようとしましたか?

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

于 2012-09-13T08:14:18.737 に答える