Wat is het IML-bestandsformaat?
Een .iml-bestand is een XML-configuratiebestand dat een enkele module binnen een IntelliJ IDEA-project beschrijft. Elke moduledefinitie legt het moduletype vast (zoals JAVA_MODULE, WEB_MODULE of PYTHON_MODULE), de bron- en testmappen binnen de inhoudsmap van de module, uitgesloten mappen en de volledige afhankelijkheidsketen - inclusief JDK, andere modules en bibliotheekreferenties. IntelliJ IDEA, Android Studio en andere JetBrains IDE's lezen .iml-bestanden om de projectstructuur te bepalen zonder het bestandssysteem opnieuw te scannen.
Het bestand is platte UTF-8 XML. Het hoofdelement is <module type="..." version="4">, en het belangrijkste kindelement is de component NewModuleRootManager, die de elementen <content>, <sourceFolder>, <excludeFolder> en <orderEntry> bevat. Er is geen sprake van binaire gegevens, compressie of versleuteling.
.iml-bestanden worden automatisch aangemaakt en onderhouden door de IDE. Ze worden opgeslagen in de eigen hoofdmap van de module of in de projectmap .idea/, afhankelijk van de IDE-versie en projectindeling. JetBrains adviseert om .iml-bestanden toe te voegen aan .gitignore in projecten met meerdere ontwikkelaars die Gradle of Maven gebruiken, omdat de IDE ze bij import automatisch regenereert vanuit het build-script. In projecten zonder build-tool worden .iml-bestanden doorgaans opgenomen in versiebeheer.
Handmatige bewerking is zelden nodig; de IDE beheert module-instellingen via het dialoogvenster „Project Structure”.
Beveiliging & veiligheid
RISICO: LOWIML-bestanden zijn platte XML-configuratiebestanden - niet uitvoerbaar. Ze kunnen verwijzen naar externe JAR's of bibliotheken die theoretisch naar kwaadaardige paden kunnen wijzen, maar het bestand zelf kan geen code uitvoeren. Veilig te openen in een teksteditor. In een kwaadaardige repository kan een gemanipuleerd .iml-bestand afhankelijkheidspaden naar onverwachte locaties laten wijzen - inspecteer dit voordat u synchroniseert in een onbekend project.
Formaatdetails
in een notendop- ACT! Internet Mail Message - Verouderd e-mailberichtbestand van ACT! contactbeheersoftware (Sage); obscuur en feitelijk verouderd.
Programma's die IML-bestanden openen
Technische details
diepe specificaties| XML-hoofdelement | `<module type="..." version="4">` - `version="4"` is de huidige formaatrevisie |
| Moduletypes | `JAVA_MODULE`, `WEB_MODULE`, `PYTHON_MODULE`, `ANDROID_MODULE` en andere IDE-specifieke types |
| Belangrijkste component | `NewModuleRootManager` bevat bronmappen, uitgesloten mappen en vermeldingen voor de volgorde van afhankelijkheden |
| Declaratie van bronmap | `<sourceFolder url="..." isTestSource="false"/>` maakt onderscheid tussen productie- en testbronsets |
| Afhankelijkheidsvermeldingen | `<orderEntry>`-elementen verwijzen naar JDK, module-naar-module afhankelijkheden en bibliotheek-jars |
| Codering | Platte UTF-8 tekst; geen compressie, versleuteling of binaire secties |
| Opslaglocatie | Hoofdmap van de module of de `.idea/` projectmap, afhankelijk van de IDE-versie en projectopstelling |
| Automatische generatie | Gradle- en Maven-imports regenereren `.iml`-bestanden; handmatig bewerkte vermeldingen kunnen bij herimport worden overschreven |
| Advies voor versiebeheer | Sluit uit van VCS wanneer Gradle/Maven wordt gebruikt; voeg toe wanneer er geen build-tool aanwezig is |
| Geschiedenis formaatversie | Het `version`-attribuut van het hoofdelement is geëvolueerd van `2` → `3` → `4` over verschillende IDEA-releases |
| Compatibele IDE's | IntelliJ IDEA, Android Studio, PyCharm, WebStorm en alle andere JetBrains-platform IDE's |
| Typische grootte | 1 KB - 50 KB, groter voor modules met veel afhankelijkheden of bronmappen |
| Uitgebracht | IntelliJ IDEA 1.0, January 2001 |
| Laatste versie | No formal versioning; format evolved continuously with IDEA releases; current format used in IDEA 2024+ |
| Specificatie | www.jetbrains.com |
IML conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over IML-bestanden.