IntelliJ IDE |.iml Файл потерян или удален
На прошлой неделе я работал над проектом Java EE с IntelliJ IDE.
Сегодня: когда я запустил свой IntelliJ 2016.1, он дал мне ошибку:
Ошибка загрузки проекта
Не удается загрузить модуль FirstWebApp
Когда я посмотрел на детали, он сказал, что не может найти мой файл FirstWebApp.iml и поэтому не может загрузить мой проект.
Я проверил мою структуру проекта в проводнике, и там было все, кроме файла iml. Я также посмотрел на корзину, но не смог найти ее там.
-
Как такой файл может просто исчезнуть?
-
Как я могу вернуть свой файл IML, если это возможно?
-
Что делают эти IML файлы?
Я новичок в мире Java. Если вам нужна дополнительная информация, просто комментируйте! :)
Ответы
Ответ 1
*.iml файлы не имеют ничего общего с вашим кодом /Java. Это скрытый файл, созданный Intellij в корневой папке вашего проекта, который содержит информацию о вашем модуле. По этой причине вам не следует создавать версии файлов такого типа, поскольку другим разработчикам, использующим другую среду IDE, они не понадобятся.
Если вы закрыли Intellij, я думаю, что нет способа вернуть тот же файл, но, с другой стороны, довольно просто восстановить новый файл .iml:
Gradle-проект
Нажмите кнопку Sync Project with Gradle Files
(эта
) на панели инструментов;
Проект на базе Maven
Перейдите в Файл> Структуры проекта> Модули> Добавить> Импортировать модуль> (выберите базовый каталог модулей)> ОК
Edit:
Мой предыдущий ответ был основан на IntelliJ 14, и кажется, что некоторые вещи изменились в более новых версиях, на что указывают hBrent и BeC в комментариях.
Использование Intellij Community 2018.1 для этого обновления:
Проект на базе Maven
Процедура остается прежней, единственное отличие, которое я видел, это то, что значок "Добавить" больше не зеленый. Можно также попытаться удалить rootFolder/.idea/modules.xml
и добавить модули впоследствии, чтобы сбросить всю информацию, касающуюся предыдущих конфигураций.
Gradle-проект
Следует использовать "Обновить все проекты Gradle" в окне инструментов Gradle ("Просмотр"> "Окна инструментов"> "Gradle"), представленном стандартным значком обновления.
Ответ 2
Если вы не можете восстановить его наиболее популярным способом, вы можете просто скопировать другой файл .iml, вставить его в пакет *, для которого требуется файл .iml, и переименовать файл .iml в имя пакета. Это должно работать, если это тот же тип (в моем случае UTF-8).
* Скопируйте файл .iml, перейдя в файлы пакета, щелкнув правой кнопкой мыши имя пакета и нажав Вставить.
Вы можете сделать это в левой панели задач. Я подготовил видео демонстрацию (там нет звука).
Ответ 3
Создайте новый файл с именем проекта и вставьте его. Если вы работаете с флаттером.
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/lib" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/.idea" />
<excludeFolder url="file://$MODULE_DIR$/.pub" />
<excludeFolder url="file://$MODULE_DIR$/build" />
</content>
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Dart SDK" level="project" />
<orderEntry type="library" name="Flutter Plugins" level="project" />
<orderEntry type="library" name="Dart Packages" level="project" />
</component>
</module>
Ответ 4
Обновление Gradle не работает в моем случае. Несколько папок проекта также отсутствовали, поэтому я не мог копировать/вставлять новые файлы .iml.
Однако когда я открыл проект заново, выбрав Delete Existing Project and Import
, он смог воссоздать все файлы .iml.