Wat is het PROJECT-bestandsformaat?
Een .project-bestand is een XML-beschrijving die Eclipse IDE in de hoofdmap van elk workspace-project plaatst. Het is het primaire metadatabestand dat een map identificeert als een Eclipse-project en wordt telkens gelezen wanneer Eclipse de workspace opent. Het bestand wordt automatisch gegenereerd door de IDE, maar wordt normaal gesproken toegevoegd aan versiebeheer, zodat andere ontwikkelaars het project kunnen importeren zonder handmatige herconfiguratie.
Het XML-rootelement is <projectDescription>, dat onderliggende elementen bevat voor de project-<name>, een optionele <comment>, een <projects>-lijst met gerefereerde projectafhankelijkheden, een <buildSpec>-sectie met geregistreerde builders (zoals org.eclipse.jdt.core.javabuilder voor incrementele Java-compilatie), en een <natures>-sectie die het projecttype identificeert (bijvoorbeeld org.eclipse.jdt.core.javanature voor Java-projecten of org.eclipse.pde.PluginNature voor Eclipse plug-in-projecten).
Eclipse leest en schrijft dit bestand via de IProjectDescription-interface in de org.eclipse.core.resources-bundel. Het formaat is stabiel sinds Eclipse 3.x (2004). Alle op Eclipse gebaseerde IDE's - inclusief Spring Tool Suite, Zend Studio, en oudere MyEclipse - delen hetzelfde .project-formaat. Tools zoals IntelliJ IDEA en VS Code (met Eclipse-compatibiliteitsextensies) kunnen .project-bestanden importeren bij het migreren van projecten. Het verwijderen van het bestand zorgt ervoor dat Eclipse alle projectmetadata voor die map verliest.
Beveiliging & veiligheid
RISICO: LOWPlat XML-configuratiebestand gegenereerd door de IDE; bevat geen uitvoerbare code. Een kwaadwillig samengesteld .project-bestand zou kunnen verwijzen naar gekoppelde bronnen die naar willekeurige bestandssysteempaden wijzen (path traversal in Eclipse-workspace), maar dit vereist dat het slachtoffer het in Eclipse importeert en een build uitvoert.
Formaatdetails
in een notendop- IntelliJ IDEA Eclipse import - IntelliJ leest .project om Eclipse-projecten te importeren, maar gebruikt standaard zijn eigen .iml-formaat.
- Spring Tool Suite (STS) - Op Eclipse gebaseerde IDE die .project-bestanden op identieke wijze aanmaakt en leest als de standaard Eclipse.
Programma's die PROJECT-bestanden openen
Technische details
diepe specificaties| Bestandsformaat | XML (UTF-8 gecodeerde platte tekst) |
| Rootelement | <projectDescription> |
| Bestandslocatie | Altijd in de hoofdmap van het Eclipse-project |
| Belangrijkste onderliggende elementen | <name>, <comment>, <projects>, <buildSpec>, <natures> |
| Builder-registratie | <buildSpec> bevat incrementele build-opdrachten (bijv. org.eclipse.jdt.core.javabuilder voor Java) |
| Nature-identificatoren | <natures> definieert het projecttype (bijv. org.eclipse.jdt.core.javanature voor Java, org.eclipse.pde.PluginNature voor plug-ins) |
| API-mapping | Gelezen/geschreven via de IProjectDescription-interface in de org.eclipse.core.resources-bundel |
| Typische grootte | 1-10 KB |
| Codering | UTF-8 |
| Versiebeheer | Normaal gesproken toegevoegd aan VCS; maakt projectimport mogelijk zonder handmatige IDE-herconfiguratie |
| Stabiliteit van formaat | Stabiel sinds Eclipse 3.x (2004); ongewijzigd in huidige Eclipse-versies |
| Cross-IDE compatibiliteit | Gebruikt door Spring Tool Suite, Zend Studio; importeerbaar door IntelliJ IDEA en VS Code met Eclipse-plug-ins |
| Verlies bij verwijdering | Het verwijderen van het bestand zorgt ervoor dat Eclipse alle projectmetadata voor die map verliest |
| Uitgebracht | 2001 (Eclipse 1.0) |
| Laatste versie | No formal versioned spec; format stable since Eclipse 3.x (2004) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | help.eclipse.org |
PROJECT conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over PROJECT-bestanden.