2012-09-13 11 views
11

Ich versuche, das Projekt programmgesteuert in Eclipse zu importieren. Ich möchte den UI-Modus nicht verwenden.Programmgesteuertes Importieren eines vorhandenen Projekts in Eclipse

Unten ist der Code, den ich für den Import des Projekts verwendet:

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); 

ich nur den Projektordner zusammen mit .location file, .markers.snap Datei und .syncinfo.snap Dateien bekommen, aber ich bin nicht den Quellordner bekommen und etc

+0

fehlt Sind Sie sicher, dass das Projekt, das Sie sind Importieren ist schon ein Java-Projekt? dh gibt es eine bereits existierende .project-Datei und enthält sie den Java-Natur- und Java-Builder? –

+0

Möchten Sie ein neues Projekt mit eigenen Dateien erstellen oder möchten, dass der Arbeitsbereich auf das vorhandene Projekt verweist? –

Antwort

11

Verwenden org.eclipse.ui.wizards.datatransfer.ImportOperation

so etwas wie dieses Versuchen:

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()); 
0

Ihr Code scheint in Ordnung zu sein. Was genau meinen Sie mit dem Quellordner? Haben Sie versucht, das Projekt zu aktualisieren?

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

+0

Ja. Den Quellordner nicht erhalten – user1584844

+0

Nun, wenn Sie nicht weiteren Quellcode (Quellcode-Quellcode) zur Verfügung stellen, kann ich Ihnen nicht helfen. –

0

Du bist wahrscheinlich eine Linie mit

description.setLocation(new Path("/absolute/path/to/project/folder")); 
Verwandte Themen