Co to jest format pliku IML?
Plik .iml to plik konfiguracyjny XML opisujący pojedynczy moduł w ramach projektu IntelliJ IDEA. Każda definicja modułu rejestruje typ modułu (taki jak JAVA_MODULE, WEB_MODULE lub PYTHON_MODULE), katalogi źródłowe i testowe wewnątrz folderu zawartości modułu, wykluczone foldery oraz pełny łańcuch zależności - w tym JDK, inne moduły i odniesienia do bibliotek. IntelliJ IDEA, Android Studio i inne środowiska IDE firmy JetBrains odczytują pliki .iml, aby określić strukturę projektu bez ponownego skanowania systemu plików.
Plik jest zwykłym tekstem UTF-8 XML. Elementem głównym jest <module type="..." version="4">, a jego głównym elementem podrzędnym jest komponent NewModuleRootManager, który zawiera elementy <content>, <sourceFolder>, <excludeFolder> oraz <orderEntry>. Nie zawiera on danych binarnych, kompresji ani szyfrowania.
Pliki .iml są tworzone i utrzymywane automatycznie przez IDE. Są przechowywane albo w katalogu głównym modułu, albo wewnątrz folderu projektu .idea/, w zależności od wersji IDE i układu projektu. JetBrains zaleca dodawanie plików .iml do .gitignore w projektach wieloosobowych korzystających z Gradle lub Maven, ponieważ IDE regeneruje je automatycznie ze skryptu budowania podczas importu. W projektach bez narzędzia do budowania, pliki .iml są zazwyczaj objęte kontrolą wersji.
Ręczna edycja jest rzadko potrzebna; IDE zarządza ustawieniami modułów poprzez okno dialogowe Project Structure.
Bezpieczeństwo
RYZYKO: LOWPliki IML to zwykłe pliki konfiguracyjne XML - nie są wykonywalne. Mogą odwoływać się do zewnętrznych plików JAR lub bibliotek, które teoretycznie mogłyby wskazywać na złośliwe ścieżki, ale sam plik nie może uruchomić kodu. Bezpieczny do otwarcia w edytorze tekstu. W złośliwym repozytorium zmodyfikowany .iml mógłby kierować ścieżki zależności w nieoczekiwane miejsca - sprawdź przed synchronizacją w nieznanym projekcie.
Szczegóły formatu
w pigułce- ACT! Internet Mail Message - Stary plik wiadomości e-mail z oprogramowania do zarządzania kontaktami ACT! (Sage); niszowy i praktycznie przestarzały.
Programy otwierające pliki IML
Szczegóły techniczne
specyfikacja| Element główny XML | `<module type="..." version="4">` - `version="4"` to aktualna rewizja formatu |
| Typy modułów | `JAVA_MODULE`, `WEB_MODULE`, `PYTHON_MODULE`, `ANDROID_MODULE` i inne typy specyficzne dla IDE |
| Kluczowy komponent | `NewModuleRootManager` przechowuje katalogi źródłowe, wykluczone foldery i wpisy kolejności zależności |
| Deklaracja katalogu źródłowego | `<sourceFolder url="..." isTestSource="false"/>` odróżnia zestawy źródłowe produkcyjne od testowych |
| Wpisy zależności | Elementy `<orderEntry>` odwołują się do JDK, zależności między modułami oraz plików JAR bibliotek |
| Kodowanie | Zwykły tekst UTF-8; brak kompresji, szyfrowania czy sekcji binarnych |
| Lokalizacja przechowywania | Katalog główny modułu lub folder projektu `.idea/`, w zależności od wersji IDE i konfiguracji projektu |
| Automatyczne generowanie | Importy Gradle i Maven regenerują pliki `.iml`; ręcznie edytowane wpisy mogą zostać nadpisane przy ponownym imporcie |
| Zalecenia dotyczące kontroli wersji | Wyklucz z VCS, gdy używany jest Gradle/Maven; dołącz, gdy brak narzędzia do budowania |
| Historia wersji formatu | Atrybut `version` elementu głównego ewoluował z `2` → `3` → `4` wraz z wydaniami IDEA |
| Kompatybilne środowiska IDE | IntelliJ IDEA, Android Studio, PyCharm, WebStorm i wszystkie inne środowiska IDE platformy JetBrains |
| Typowy rozmiar | 1 KB - 50 KB, większy dla modułów z wieloma zależnościami lub katalogami źródłowymi |
| Wydano | IntelliJ IDEA 1.0, January 2001 |
| Najnowsza wersja | No formal versioning; format evolved continuously with IDEA releases; current format used in IDEA 2024+ |
| Specyfikacja | www.jetbrains.com |
Konwersje IML
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki IML.