Подтвердить что ты не робот

IntelliJ IDE |.iml Файл потерян или удален

На прошлой неделе я работал над проектом Java EE с IntelliJ IDE.

Сегодня: когда я запустил свой IntelliJ 2016.1, он дал мне ошибку:

Ошибка загрузки проекта

Не удается загрузить модуль FirstWebApp

Когда я посмотрел на детали, он сказал, что не может найти мой файл FirstWebApp.iml и поэтому не может загрузить мой проект.

Я проверил мою структуру проекта в проводнике, и там было все, кроме файла iml. Я также посмотрел на корзину, но не смог найти ее там.

  • Как такой файл может просто исчезнуть?

  • Как я могу вернуть свой файл IML, если это возможно?

  • Что делают эти IML файлы?

Я новичок в мире Java. Если вам нужна дополнительная информация, просто комментируйте! :)

4b9b3361

Ответ 1

*.iml файлы не имеют ничего общего с вашим кодом /Java. Это скрытый файл, созданный Intellij в корневой папке вашего проекта, который содержит информацию о вашем модуле. По этой причине вам не следует создавать версии файлов такого типа, поскольку другим разработчикам, использующим другую среду IDE, они не понадобятся.

Если вы закрыли Intellij, я думаю, что нет способа вернуть тот же файл, но, с другой стороны, довольно просто восстановить новый файл .iml:

Gradle-проект

Нажмите кнопку Sync Project with Gradle Files (эта enter image description here) на панели инструментов;

Проект на базе 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.