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

Java IntelliJ IDE |.iml文件丢失或删除,java,tomcat,intellij-idea,project-structure,Java,Tomcat,Intellij Idea,Project Structure,上周,我正在使用IntelliJ IDE进行一个JavaEE项目 今天:当我启动IntelliJ 2016.1时,它给了我一个错误: 加载项目时出错 无法加载模块FirstWebApp 当我查看详细信息时,它说它找不到我的第一个webapp.iml文件,因此无法加载我的项目 我在资源管理器中检查了我的项目结构,除了iml文件之外的所有东西都在那里。我也看了一下回收站,但在那里也找不到 这样一个文件怎么能被破解呢 如果可能的话,我如何取回我的iml文件 这些iml文件做什么 我是Java世界的

上周,我正在使用IntelliJ IDE进行一个JavaEE项目

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

加载项目时出错

无法加载模块FirstWebApp

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

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

  • 这样一个文件怎么能被破解呢

  • 如果可能的话,我如何取回我的iml文件

  • 这些iml文件做什么


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

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

如果关闭Intellij,我认为没有办法恢复相同的文件,但另一方面,重新生成一个新的.iml文件非常简单:

基于梯度的项目

单击工具栏中的
与渐变文件同步项目
按钮(此按钮)

基于Maven的项目

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

编辑:

我之前的回答是基于IntelliJ 14的,正如评论所指出的那样,新版本上似乎有些东西已经改变了

使用Intellij Community 2018.1进行此更新:

基于Maven的项目

程序保持不变,我看到的唯一区别是添加图标不再是绿色。您还可以尝试删除
rootFolder/.idea/modules.xml
,然后添加模块,以重置有关以前配置的所有信息

基于梯度的项目


应在Gradle工具窗口(视图>工具窗口>Gradle)上使用“刷新所有Gradle项目”,由标准刷新图标表示。

如果无法通过最高级的方式恢复,您只需复制另一个.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>

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

但是,当我重新打开项目时,选择“删除现有项目并导入”,项目能够重新创建所有.iml文件。

对于Maven项目:

  • 打开Maven工具窗口(对于intellij用户-右键单击项目名称并向下滚动到底部以找到Maven工具窗口)(用此图标指示:)
  • 单击重新导入所有Maven项目按钮(如图所示 图标:)
说明:

删除.iml文件后,我的mvn项目在IntelliJ IDEA中也没有正确加载。我这样做:

  • 封闭智能思想
  • 删除了我的项目目录中的.idea目录
  • 我重新打开了IntelliJ IDEA和.IDEA dir,并且.iml在一段时间后由IntelliJ自动重新创建
  • 已为我修复。


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

    我也意外地删除了.iml文件。 以下是如何解决的:

  • 封闭智能思想
  • 重新打开的程序
  • 所选导入项目->从现有源创建项目
  • 单击下一步。 它为我创建了正确的项目配置
  • 删除项目中的.idea文件夹
  • 重新导入项目

  • 它将再次编译并构建用于配置的.idea文件夹。

    我正在使用phpstorm和带有多个repo的project

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

    尝试打开新克隆的项目并附加后,失败。附加的新克隆项目中的新.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,突然一切正常。

    我认为该按钮现在看起来有点不同了。我点击了gradle窗口中的“刷新所有gradle项目”和“执行gradle任务”。不确定是哪一个生成了iml文件,但我在那之后就没事了。现在设置不同了。我仍然不知道如何在maven项目中重新生成impl文件。@我刚刚下载了Intellij的最新CE版本,对于maven项目,同样的过程仍然重新生成*.iml文件。+按钮不再是绿色的,但单击它并从现有源导入模块后,它就工作了。也许您可以尝试删除.idea/modules.xml文件