Che cos'è il formato di file IML?
Un file .iml è un file di configurazione XML che descrive un singolo modulo all'interno di un progetto IntelliJ IDEA. Ogni definizione di modulo registra il tipo di modulo (come JAVA_MODULE, WEB_MODULE o PYTHON_MODULE), le radici dei sorgenti e dei test all'interno della directory dei contenuti del modulo, le cartelle escluse e l'intera catena di dipendenze - inclusi JDK, altri moduli e riferimenti a librerie. IntelliJ IDEA, Android Studio e altri IDE JetBrains leggono i file .iml per determinare la struttura del progetto senza dover scansionare nuovamente il filesystem.
Il file è in formato XML semplice UTF-8. L'elemento radice è <module type="..." version="4">, e il suo figlio principale è il componente NewModuleRootManager, che contiene gli elementi <content>, <sourceFolder>, <excludeFolder> e <orderEntry>. Non sono coinvolti dati binari, compressione o crittografia.
I file .iml vengono creati e mantenuti automaticamente dall'IDE. Sono memorizzati nella directory radice del modulo stesso o all'interno della cartella di progetto .idea/ a seconda della versione dell'IDE e del layout del progetto. JetBrains consiglia di aggiungere i file .iml al file .gitignore nei progetti multi-sviluppatore che utilizzano Gradle o Maven, perché l'IDE li rigenera automaticamente dallo script di compilazione durante l'importazione. Nei progetti senza uno strumento di build, i file .iml sono tipicamente sotto controllo di versione.
La modifica manuale è raramente necessaria; l'IDE gestisce le impostazioni del modulo attraverso la finestra di dialogo «Project Structure».
Sicurezza e incolumità
RISCHIO: LOWI file IML sono semplici file di configurazione XML - non eseguibili. Possono fare riferimento a JAR o librerie esterne che teoricamente potrebbero puntare a percorsi malevoli, ma il file in sé non può eseguire codice. È sicuro aprirli in un editor di testo. In un repository malevolo, un file .iml manomesso potrebbe puntare i percorsi delle dipendenze a posizioni impreviste - ispezionare prima di sincronizzare in un progetto sconosciuto.
Dettagli del formato
in sintesi- ACT! Internet Mail Message - File di messaggi email legacy del software di gestione contatti ACT! (Sage); oscuro ed effettivamente obsoleto.
Programmi che aprono file IML
Dettagli tecnici
specifiche approfondite| Elemento radice XML | `<module type="..." version="4">` - `version="4"` è l'attuale revisione del formato |
| Tipi di modulo | `JAVA_MODULE`, `WEB_MODULE`, `PYTHON_MODULE`, `ANDROID_MODULE` e altri tipi specifici dell'IDE |
| Componente chiave | `NewModuleRootManager` contiene le radici dei sorgenti, le cartelle escluse e le voci sull'ordine delle dipendenze |
| Dichiarazione radice sorgente | `<sourceFolder url="..." isTestSource="false"/>` distingue i set di sorgenti di produzione da quelli di test |
| Voci di dipendenza | Gli elementi `<orderEntry>` fanno riferimento a JDK, dipendenze tra moduli e jar di librerie |
| Codifica | Testo semplice UTF-8; nessuna compressione, crittografia o sezioni binarie |
| Posizione di archiviazione | Directory radice del modulo o cartella di progetto `.idea/`, a seconda della versione dell'IDE e della configurazione del progetto |
| Auto-generazione | Le importazioni Gradle e Maven rigenerano i file `.iml`; le voci modificate a mano possono essere sovrascritte al re-import |
| Guida al controllo di versione | Escludere dal VCS quando si usa Gradle/Maven; includere quando non è presente alcuno strumento di build |
| Cronologia versioni formato | L'attributo `version` dell'elemento radice è progredito da `2` → `3` → `4` attraverso le release di IDEA |
| IDE compatibili | IntelliJ IDEA, Android Studio, PyCharm, WebStorm e tutti gli altri IDE della piattaforma JetBrains |
| Dimensione tipica | 1 KB - 50 KB, superiore per moduli con molte dipendenze o radici sorgenti |
| Rilasciato | IntelliJ IDEA 1.0, January 2001 |
| Ultima versione | No formal versioning; format evolved continuously with IDEA releases; current format used in IDEA 2024+ |
| Specifica | www.jetbrains.com |
Conversioni IML
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file IML.