O que é o formato de ficheiro IML?
Um arquivo .iml é um arquivo de configuração XML que descreve um único módulo dentro de um projeto do IntelliJ IDEA. Cada definição de módulo registra o tipo de módulo (como JAVA_MODULE, WEB_MODULE ou PYTHON_MODULE), as raízes de código-fonte e de teste dentro do diretório de conteúdo do módulo, pastas excluídas e a cadeia completa de dependências - incluindo JDK, outros módulos e referências de biblioteca. O IntelliJ IDEA, o Android Studio e outras IDEs da JetBrains leem arquivos .iml para determinar a estrutura do projeto sem reanalisar o sistema de arquivos.
O arquivo é XML em UTF-8 simples. O elemento raiz é <module type="..." version="4">, e seu principal filho é o componente NewModuleRootManager, que contém os elementos <content>, <sourceFolder>, <excludeFolder> e <orderEntry>. Não há dados binários, compressão ou criptografia envolvidos.
Os arquivos .iml são criados e mantidos automaticamente pela IDE. Eles são armazenados no diretório raiz do próprio módulo ou dentro da pasta de projeto .idea/, dependendo da versão da IDE e do layout do projeto. A JetBrains recomenda adicionar arquivos .iml ao .gitignore em projetos com múltiplos desenvolvedores que utilizam Gradle ou Maven, pois a IDE os regenera automaticamente a partir do script de compilação na importação. Em projetos sem uma ferramenta de compilação, os arquivos .iml são normalmente controlados por versão.
A edição manual raramente é necessária; a IDE gerencia as configurações do módulo através da caixa de diálogo «Project Structure».
Segurança e proteção
RISCO: LOWArquivos IML são arquivos de configuração XML simples - não executáveis. Eles podem referenciar JARs ou bibliotecas externas que poderiam, teoricamente, apontar para caminhos maliciosos, mas o arquivo em si não pode executar código. É seguro abrir em um editor de texto. Em um repositório malicioso, um .iml adulterado poderia apontar caminhos de dependência para locais inesperados - inspecione antes de sincronizar em um projeto desconhecido.
Detalhes do formato
em resumo- ACT! Internet Mail Message - Arquivo de mensagem de e-mail legado do software de gerenciamento de contatos ACT! (Sage); obscuro e efetivamente obsoleto.
Programas que abrem arquivos IML
Detalhes técnicos
especificação profunda| Elemento raiz XML | `<module type="..." version="4">` - `version="4"` é a revisão de formato atual |
| Tipos de módulo | `JAVA_MODULE`, `WEB_MODULE`, `PYTHON_MODULE`, `ANDROID_MODULE` e outros tipos específicos da IDE |
| Componente chave | `NewModuleRootManager` contém raízes de código-fonte, pastas excluídas e entradas de ordem de dependência |
| Declaração de raiz de código-fonte | `<sourceFolder url="..." isTestSource="false"/>` distingue conjuntos de fontes de produção e de teste |
| Entradas de dependência | Elementos `<orderEntry>` referenciam JDK, dependências entre módulos e jars de biblioteca |
| Codificação | Texto UTF-8 simples; sem compressão, criptografia ou seções binárias |
| Local de armazenamento | Diretório raiz do módulo ou pasta de projeto `.idea/`, dependendo da versão da IDE e configuração do projeto |
| Geração automática | Importações de Gradle e Maven regeneram arquivos `.iml`; entradas editadas manualmente podem ser sobrescritas na reimportação |
| Orientação de controle de versão | Excluir do VCS quando Gradle/Maven for usado; incluir quando nenhuma ferramenta de compilação estiver presente |
| Histórico de versão do formato | O atributo `version` do elemento raiz progrediu de `2` → `3` → `4` entre as versões do IDEA |
| IDEs compatíveis | IntelliJ IDEA, Android Studio, PyCharm, WebStorm e todas as outras IDEs da plataforma JetBrains |
| Tamanho típico | 1 KB - 50 KB, maior para módulos com muitas dependências ou raízes de código-fonte |
| Lançado | IntelliJ IDEA 1.0, January 2001 |
| Versão mais recente | No formal versioning; format evolved continuously with IDEA releases; current format used in IDEA 2024+ |
| Especificação | www.jetbrains.com |
Conversões de IML
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos IML.