Wat is het IPR-bestandsformaat?
Een .ipr-bestand is het hoofdconfiguratiebestand voor het klassieke „bestandsgebaseerde” projectformaat van IntelliJ IDEA, geïntroduceerd bij vroege IntelliJ IDEA-versies (rond 2001). Het is een plat UTF-8 XML-document waarvan het hoofdelement <project> is met een version-attribuut (meestal 4) dat oploopt bij grote IDEA-releases.
Het bestand slaat projectbrede instellingen op: SDK- en taalniveaukeuzes, modulepaden (verwijzend naar bijbehorende .iml-modulebestanden), compilerconfiguratie, VCS-rootdefinities, run/debug-configuraties en codestijl-instellingen. Gebruikersspecifieke status - openstaande tabbladen, breekpunten en vensterindeling - bevindt zich in het bijbehorende .iws-workspacebestand.
JetBrains introduceerde het mapgebaseerde .idea/-formaat met IntelliJ IDEA 9 in 2009. Dat formaat splitst de projectstatus op in veel kleine XML-bestanden onder een .idea/-map, waardoor het veel vriendelijker is voor versiebeheer. JetBrains adviseert het mapgebaseerde formaat voor alle nieuwe projecten; het .ipr-formaat is behouden voor achterwaartse compatibiliteit, maar is niet langer de standaard.
Omdat .ipr platte XML is, kan elke teksteditor het openen en inspecteren. Het bestand moet worden toegevoegd aan versiebeheer; het bijbehorende .iws-bestand is gebruikersspecifiek en moet worden uitgesloten van commits. Huidige IntelliJ IDEA-versies openen klassieke .ipr-projecten nog steeds zonder problemen.
Beveiliging & veiligheid
RISICO: LOWEen IPR-bestand is een plat XML-configuratiebestand zonder uitvoerbare code. Het openen ervan in een teksteditor of IDEA is veilig. Een gemanipuleerde .ipr zou echter kunnen verwijzen naar kwaadaardige SDK-paden of run-configuraties die code uitvoeren bij het openen in IDEA - standaard voorzorgsmaatregel bij het openen van projecten uit onbetrouwbare bronnen (IDEA waarschuwt hier zelf voor).
Formaatdetails
in een notendopProgramma's die IPR-bestanden openen
Technische details
diepe specificaties| Bestandsformaat | Platte tekst XML (UTF-8) |
| Hoofdelement | `<project version="4">` - version-attribuut loopt op met grote IntelliJ IDEA-releases |
| Bereik instellingen | Projectbreed: SDK, modulepaden, compilerinstellingen, VCS-roots, run/debug-configuraties |
| Componentstructuur | `<component>` kind-elementen, één per instellingengebied (compiler, VCS, project SDK, etc.) |
| Bijbehorende bestanden | `.iws` (gebruikersspecifieke workspace-status); `.iml` (configuratie per module) |
| Status | Verouderd sinds IntelliJ IDEA 9 (2009); vervangen door het op `.idea/`-mappen gebaseerde formaat |
| VCS-aanbeveling | `.ipr` moet worden gecommit; `.iws` moet worden uitgesloten (het is gebruikersspecifiek) |
| Achterwaartse compatibiliteit | IntelliJ IDEA 2024.x en later openen nog steeds klassieke `.ipr`-projecten |
| Versleuteling / compressie | Geen - plat tekstbestand |
| Typische bestandsgrootte | 2 KB - 200 KB (afhankelijk van projectcomplexiteit en opgeslagen configuraties) |
| Bytevolgorde | N.v.t. (tekstbestand) |
| Uitgebracht | Early 2000s (IntelliJ IDEA 1.x - classic project format) |
| Laatste versie | XML schema version varies with IDEA version; format deprecated in favor of .idea/ directory format (IDEA 9+, 2009) |
| Specificatie | www.jetbrains.com |
IPR conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over IPR-bestanden.