Vad är filformatet PROJECT?
En .project-fil är en XML-beskrivning som Eclipse IDE placerar i rotkatalogen för varje workspace-projekt. Det är den primära metadatafilen som identifierar en mapp som ett Eclipse-projekt och läses varje gång Eclipse öppnar arbetsytan. Filen genereras automatiskt av utvecklingsmiljön men checkas normalt in i versionshantering så att andra utvecklare kan importera projektet utan manuell omkonfigurering.
XML-rotelementet är <projectDescription>, som innehåller underordnade element för projektets <name>, en valfri <comment>, en <projects>-lista över refererade projektberoenden, en <buildSpec>-sektion som listar registrerade byggare (såsom org.eclipse.jdt.core.javabuilder för inkrementell Java-kompilering) och en <natures>-sektion som identifierar projekttypen (till exempel org.eclipse.jdt.core.javanature för Java-projekt eller org.eclipse.pde.PluginNature för Eclipse-insticksmoduler).
Eclipse läser och skriver denna fil via gränssnittet IProjectDescription i paketet org.eclipse.core.resources. Formatet har varit stabilt sedan Eclipse 3.x (2004). Alla Eclipse-baserade utvecklingsmiljöer - inklusive Spring Tool Suite, Zend Studio och äldre MyEclipse - delar samma .project-format. Verktyg som IntelliJ IDEA och VS Code (med tillägg för Eclipse-kompatibilitet) kan importera .project-filer vid migrering av projekt. Om filen raderas förlorar Eclipse all projektmetadata för den katalogen.
Säkerhet & trygghet
RISK: LOWVanlig XML-konfigurationsfil genererad av utvecklingsmiljön; ingen exekverbar kod. En illvilligt utformad .project-fil skulle kunna referera till länkade resurser som pekar på godtyckliga filsökvägar (path traversal i Eclipse workspace), men detta kräver att offret importerar den i Eclipse och kör en byggprocess.
Formatdetaljer
i ett nötskal- IntelliJ IDEA Eclipse-import - IntelliJ läser .project för att importera Eclipse-projekt, men använder sitt eget .iml-format nativt.
- Spring Tool Suite (STS) - Eclipse-baserad IDE som skapar och läser .project-filer identiskt med uppströms Eclipse.
Program som öppnar PROJECT-filer
Tekniska detaljer
djup specifikation| Filformat | XML (UTF-8-kodad vanlig text) |
| Rotelement | <projectDescription> |
| Filplats | Alltid i rotkatalogen för Eclipse-projektet |
| Viktiga underelement | <name>, <comment>, <projects>, <buildSpec>, <natures> |
| Registrering av byggare | <buildSpec> listar inkrementella byggkommandon (t.ex. org.eclipse.jdt.core.javabuilder för Java) |
| Nature-identifierare | <natures> definierar projekttyp (t.ex. org.eclipse.jdt.core.javanature för Java, org.eclipse.pde.PluginNature för insticksmoduler) |
| API-mappning | Läses/skrivs via IProjectDescription-gränssnittet i paketet org.eclipse.core.resources |
| Typisk storlek | 1-10 KB |
| Kodning | UTF-8 |
| Versionshantering | Checkas normalt in i VCS; möjliggör projektimport utan manuell omkonfigurering av IDE |
| Formatstabilitet | Stabilt sedan Eclipse 3.x (2004); oförändrat i nuvarande Eclipse-versioner |
| Kompatibilitet mellan IDE:er | Används av Spring Tool Suite, Zend Studio; kan importeras av IntelliJ IDEA och VS Code med Eclipse-tillägg |
| Förlust vid radering | Om filen raderas förlorar Eclipse all projektmetadata för den katalogen |
| Släppt | 2001 (Eclipse 1.0) |
| Senaste version | No formal versioned spec; format stable since Eclipse 3.x (2004) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | help.eclipse.org |
PROJECT-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om PROJECT-filer.
Vanliga frågor
Kan jag radera .project-filen?
Bör jag checka in .project i Git?
Varför säger Eclipse «project already exists» vid import?
<name> finns redan i arbetsytan. Stäng eller ta bort det befintliga projektet först (utan att radera innehållet) och importera sedan igen.