Was ist das PROJECT-Dateiformat?
Eine .project-Datei ist ein XML-Deskriptor, den die Eclipse IDE im Stammverzeichnis jedes Workspace-Projekts ablegt. Es ist die primäre Metadatendatei, die einen Ordner als Eclipse-Projekt identifiziert und jedes Mal gelesen wird, wenn Eclipse den Workspace öffnet. Die Datei wird automatisch von der IDE generiert, wird aber normalerweise in die Versionsverwaltung übertragen, damit andere Entwickler das Projekt ohne manuelle Rekonfiguration importieren können.
Das XML-Wurzelelement ist <projectDescription>, das Kindelemente für den Projektnamen <name>, einen optionalen Kommentar <comment>, eine Liste referenzierter Projektabhängigkeiten <projects>, einen Abschnitt <buildSpec> mit registrierten Buildern (wie org.eclipse.jdt.core.javabuilder für die inkrementelle Java-Kompilierung) und einen Abschnitt <natures> zur Identifizierung des Projekttyps (zum Beispiel org.eclipse.jdt.core.javanature für Java-Projekte oder org.eclipse.pde.PluginNature für Eclipse-Plugin-Projekte) enthält.
Eclipse liest und schreibt diese Datei über die Schnittstelle IProjectDescription im Bundle org.eclipse.core.resources. Das Format ist seit Eclipse 3.x (2004) stabil. Alle Eclipse-basierten IDEs - einschließlich Spring Tool Suite, Zend Studio und ältere Versionen von MyEclipse - nutzen dasselbe .project-Format. Werkzeuge wie IntelliJ IDEA und VS Code (mit Eclipse-Kompatibilitätserweiterungen) können .project-Dateien beim Migrieren von Projekten importieren. Das Löschen der Datei führt dazu, dass Eclipse alle Projektmetadaten für dieses Verzeichnis verliert.
Sicherheit
RISIKO: LOWEinfache XML-Konfigurationsdatei, die von der IDE generiert wird; kein ausführbarer Code. Eine bösartig manipulierte .project-Datei könnte auf verknüpfte Ressourcen verweisen, die auf beliebige Dateisystempfade zeigen (Path Traversal im Eclipse-Workspace), was jedoch erfordert, dass das Opfer sie in Eclipse importiert und einen Build ausführt.
Formatdetails
kurz gefasst- IntelliJ IDEA Eclipse-Import - IntelliJ liest .project, um Eclipse-Projekte zu importieren, verwendet aber nativ sein eigenes .iml-Format.
- Spring Tool Suite (STS) - Eclipse-basierte IDE, die .project-Dateien identisch zum Standard-Eclipse erstellt und liest.
Programme zum Öffnen von PROJECT-Dateien
Technische Details
technische Spezifikation| Dateiformat | XML (UTF-8 kodierter Klartext) |
| Wurzelelement | <projectDescription> |
| Dateispeicherort | Immer im Stammverzeichnis des Eclipse-Projekts |
| Wichtige Kindelemente | <name>, <comment>, <projects>, <buildSpec>, <natures> |
| Builder-Registrierung | <buildSpec> listet inkrementelle Build-Befehle auf (z. B. org.eclipse.jdt.core.javabuilder für Java) |
| Nature-Identifikatoren | <natures> definiert den Projekttyp (z. B. org.eclipse.jdt.core.javanature für Java, org.eclipse.pde.PluginNature für Plugins) |
| API-Mapping | Gelesen/geschrieben über die IProjectDescription-Schnittstelle im Bundle org.eclipse.core.resources |
| Typische Größe | 1-10 KB |
| Kodierung | UTF-8 |
| Versionsverwaltung | Normalerweise in VCS eingecheckt; ermöglicht Projektimport ohne manuelle IDE-Rekonfiguration |
| Formatstabilität | Stabil seit Eclipse 3.x (2004); unverändert in aktuellen Eclipse-Releases |
| IDE-übergreifende Kompatibilität | Verwendet von Spring Tool Suite, Zend Studio; importierbar durch IntelliJ IDEA und VS Code mit Eclipse-Plugins |
| Verlust bei Löschung | Das Löschen der Datei führt dazu, dass Eclipse alle Projektmetadaten für dieses Verzeichnis verliert |
| Veröffentlicht | 2001 (Eclipse 1.0) |
| Neueste Version | No formal versioned spec; format stable since Eclipse 3.x (2004) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | help.eclipse.org |
PROJECT-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu PROJECT-Dateien.
Häufig gestellte Fragen
Kann ich die .project-Datei löschen?
Sollte ich .project in Git einchecken?
Warum meldet Eclipse beim Import „project already exists“?
<name> befindet sich bereits im Workspace. Schließen oder entfernen Sie zuerst das bestehende Projekt (ohne den Inhalt zu löschen) und importieren Sie es dann erneut.