web-dev-qa-db-ja.com

IntelliJ IDE | .imlファイルの紛失または削除

先週、IntelliJ IDEを使用したJava EEプロジェクトに取り組んでいました。

今日:IntelliJ 2016.1を起動すると、エラーが発生しました:

プロジェクトの読み込みエラー

モジュールFirstWebAppをロードできません

詳細を見ると、FirstWebApp.imlファイルが見つからなかったため、プロジェクトをロードできなかったという。

Explorerでプロジェクト構造をチェックアウトしましたが、imlファイル以外はすべてそこにありました。私はごみ箱も見ましたが、そこにも見つかりませんでした。

  • そのようなファイルはどうして消えるのでしょうか?

  • 可能であれば、どのようにしてimlファイルを取り戻すことができますか?

  • これらのimlファイルは何をしますか?

私はJava World。で初めてです。詳細が必要な場合はコメントしてください!:)

28
WetWer

* .imlファイルは、コード/ Javaとは関係ありません。これは、モジュール情報を含むプロジェクトのルートフォルダーにIntellijによって作成された隠しファイルです。これが、この種類のファイルをバージョン管理しない理由です。他の開発者が別のIDEを使用する必要はありません。

Intellijを閉じた場合、同じファイルを元に戻す方法はないと思いますが、新しい.imlファイルを再生成するのは非常に簡単です。

Gradleベースのプロジェクト

Sync Project with Gradle Filesボタンをクリックします(これは enter image description here )ツールバーで;

Mavenベースのプロジェクト

[ファイル]> [プロジェクト構造]> [モジュール]> [追加]> [モジュールのインポート]>(モジュールのベースディレクトリを選択)> [OK]に移動します。

編集:

私の以前の回答はIntelliJ 14に基づいていましたが、コメントの hBrentBeC で示されているように、新しいバージョンではいくつかの点が変更されたようです。

この更新にIntellij Community 2018.1を使用:

Mavenベースのプロジェクト

手順は同じですが、私が見た唯一の違いは、Addアイコンが緑色ではなくなったことです。 rootFolder/.idea/modules.xmlを削除し、その後モジュールを追加して、以前の構成に関するすべての情報をリセットすることもできます。

Gradleベースのプロジェクト

標準の更新アイコンで表されるGradleツールウィンドウ([表示]> [ツールウィンドウ]> [Gradle])で[すべてのGradleプロジェクトを更新]を使用する必要があります。

41
dambros

最も上回った方法で復元できない場合は、別の.imlファイルをコピーし、.imlファイルを必要とするパッケージ*に貼り付け、.imlファイルの名前をパッケージの名前に変更するだけです。これは、同じタイプ(私の場合はUTF-8)であれば機能します。

* .imlファイルをコピーするには、パッケージファイルに移動し、パッケージ名を右クリックして、貼り付けを押します。

これは、左側のタスクバーで実行できます。 ビデオデモンストレーション (音声なし)を準備しました。

2
SassyLlama Boi

プロジェクト名で新しいファイルを作成して貼り付けます。フラッターで作業している場合。

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