文件丢失或删除

上周我正在用 IntelliJIDE 做一个 JavaEE 项目。

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

加载项目错误

无法加载模块 FirstWebApp

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

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

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

  • 如果可能的话,我怎样才能拿回我的 iml 文件?

  • 这些 iml 文件是做什么的?

我是 Java 世界的新手。如果需要更多的信息,只需要注释! :)

122044 次浏览

*.Iml 文件与代码/Java 无关。它是由 Intellij 在项目的根文件夹中创建的隐藏文件,其中包含模块信息。这就是您不应该对这种文件进行版本控制的原因,毕竟其他使用不同 IDE 的开发人员不需要它们。

如果你关闭 Intellij,我认为没有办法得到相同的文件回来,但另一方面,它是相当简单的重新生成一个新的。Iml 文件:

基于梯度的项目

单击工具栏中的 Sync Project with Gradle Files按钮(这个是 < img src = “ https://i.stack.imgur.com/EDsW9.png”alt = “ enter image description here”> < img src = “ https://i.stack.imgur.com/EDsW9.png”alt = “ enter image description here”> ) ;

基于 Maven 的项目

转到文件 > 项目结构 > 模块 > 添加 > 导入模块 > (选择您的模块基本目录) > OK

编辑:

我之前的回答是基于 IntelliJ 14,看起来在新版本中有些东西已经改变了,就像 布伦特BeC在评论中指出的那样。

使用 Intellij Community 2018.1进行更新:

基于 Maven 的项目

程序仍然是相同的,我看到的唯一区别是 图标不再是绿色的。您也可以尝试删除 rootFolder/.idea/modules.xml并在之后添加模块,以重置关于以前配置的所有信息。

基于梯度的项目

应该使用“刷新所有的等级项目”在等级工具窗口(查看 > 工具窗口 > 等级) ,由标准刷新图标表示。

如果你不能通过最常用的方法恢复它,你可以简单地复制另一个。Iml 文件,将其粘贴到需要。Iml 文件,并将。将 iml 文件设置为包的名称。如果它是相同的类型(在我的例子中是 UTF-8) ,这应该可以工作。

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

你可以在左边的任务栏中完成。我已经准备好了 视频演示(没有音频)。

用项目名称创建一个新文件并粘贴它。

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

在我的情况下,格拉德尔刷新不起作用。有几个项目文件夹也不见了,所以我无法复制/粘贴新的。Iml 文件。

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

在删除之后,我的 mvn 项目也没有在 IntelliJIDEA 中正确加载。Iml 文件。我是这么修理的:

  1. 封闭的情报思想
  2. 删除。在我的项目目录中的想法目录。
  3. 我重新打开了 IntelliJ IDEA 和.IDEA dir,还有.iml,一段时间后,IntelliJ 自动重新创建了它们。

给我修好了。

enter image description here

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

我还不小心删除了.iml 文件。 以下是解决方案:

  1. 封闭的情报思想
  2. 重启程序
  3. 选择导入项目-> 从现有源创建项目
  4. 点击下一步。 它为我创建了正确的项目配置。
  1. 在你的项目中删除.idea 文件夹
  2. 重新导入项目

它将再次编译和构建。想法文件夹的配置。

我使用 phpstorm 和项目与多个回购协议。

我的场景是,由于未指明的原因,我删除了“ main”项目目录(并再次克隆)。这导致了下一个项目目录成为主,我猜。还有旧的“主”将从项目视图中删除 phpstorm。

在尝试打开新克隆的项目并附加之后,它失败了。新的。Iml 文件在附加的新克隆项目是罚款(虽然它报告失败) ,所以我进入下一个项目。想法目录和找到。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,然后它突然就好了。