IntelliJ IDE | .iml文件丢失或删除

时间:2016-04-11 07:22:49

标签: java tomcat intellij-idea project-structure

上周我正在使用IntelliJ IDE开发Java EE项目。

今天:当我启动IntelliJ 2016.1时,它给了我错误:

加载项目时出错

无法加载模块FirstWebApp

当我查看详细信息时,它说它无法找到我的FirstWebApp.iml文件,因此无法加载我的项目。

我在资源管理器中检查了我的项目结构,除了iml文件之外的所有内容都在那里。我也查看了回收站,但我也找不到它。

  • 这样的文件怎么会消失?

  • 如果可能,我怎样才能获取我的iml文件?

  • 这些iml文件有什么作用?

我是Java World的新手。如果需要更多信息,请发表评论! :)

9 个答案:

答案 0 :(得分:5)

enter image description here

如果删除*.iml文件和.idea文件夹并关闭IntelliJ,则下次再次打开项目时,它将重新生成。

答案 1 :(得分:4)

我也意外删除了.iml文件。 解决方法如下:

  1. 已关闭IntelliJ IDEA
  2. 重新打开程序
  3. 选择的导入项目->从现有来源创建项目
  4. 单击下一步。 它为我创建了正确的项目配置。

答案 2 :(得分:2)

删除.iml文件后,我的mvn项目也未正确加载到IntelliJ IDEA中。我以这种方式解决了这个问题:

  1. 已关闭IntelliJ IDEA
  2. 删除了我的项目目录中的.idea目录。
  3. 我重新打开了IntelliJ IDEA和.idea目录,而且.iml也是由IntelliJ自动重新创建的。

为我修复。

答案 3 :(得分:1)

如果无法通过最高级的方式恢复它,则可以简单地复制另一个.iml文件,将其粘贴到需要.iml文件的包*中,然后将.iml文件重命名为包的名称。如果它是同一类型(在我的情况下为UTF-8),则应该可以使用。

*通过进入软件包文件,右键单击软件包名称,然后按粘贴来复制.iml文件。

您可以在左侧任务栏中完成此操作。我已经准备好a video demonstration(没有音频)。

答案 4 :(得分:1)

在我的情况下,Gradle刷新不起作用。还缺少几个项目文件夹,因此我也无法复制/粘贴新的.iml文件。

但是,当我重新打开项目时,选择Delete Existing Project and Import,则该项目能够重新创建所有.iml文件。

答案 5 :(得分:1)

对于Maven项目:

  • 打开 Maven工具窗口(用此图标指示:enter image description here
  • 点击重新导入所有Maven项目按钮(指示 图标:Reimport All Maven Projects)。

说明:    https://www.jetbrains.com/help/idea/maven-projects-tool-window.html

答案 6 :(得分:1)

  1. 删除项目中的.idea文件夹
  2. 重新导入项目

它将再次编译并构建.idea文件夹以进行配置。

答案 7 :(得分:0)

使用项目名称创建一个新文件并将其粘贴。如果您正在颤抖。

<?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>

答案 8 :(得分:0)

我正在使用具有多个存储库的phpstorm和项目。

我的情况是,由于未指定的原因,我删除了“主”项目目录(并再次克隆)。我想这导致下一个项目目录成为主要目录。以及从phpstorm的项目视图中删除的旧“主要”。

尝试打开新克隆的项目并附加后,失败。附加的新克隆项目中的新.iml文件很好(尽管它报告失败),所以我进入下一个项目.idea目录,发现.iml文件看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
  <component name="NewModuleRootManager">
    <content url="file://$MODULE_DIR$" />
    <orderEntry type="inheritedJdk" />
    <orderEntry type="module" module-name="Project1" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="module" module-name="Project3" />
    <orderEntry type="module" module-name="Project4" />
    <orderEntry type="module" module-name="Project1" />
</component>
</module>

所以我退出了phpstorm,从第二个项目iml文件中删除了所有Project1条目,重新启动了IDE,再次打开并附加了新克隆的project1,这一切都很好。