先週、IntelliJ IDEを使用したJava EEプロジェクトに取り組んでいました。
今日:IntelliJ 2016.1を起動すると、エラーが発生しました:
プロジェクトの読み込みエラー
モジュールFirstWebAppをロードできません
詳細を見ると、FirstWebApp.imlファイルが見つからなかったため、プロジェクトをロードできなかったという。
Explorerでプロジェクト構造をチェックアウトしましたが、imlファイル以外はすべてそこにありました。私はごみ箱も見ましたが、そこにも見つかりませんでした。
そのようなファイルはどうして消えるのでしょうか?
可能であれば、どのようにしてimlファイルを取り戻すことができますか?
これらのimlファイルは何をしますか?
私はJava World。で初めてです。詳細が必要な場合はコメントしてください!:)
* .imlファイルは、コード/ Javaとは関係ありません。これは、モジュール情報を含むプロジェクトのルートフォルダーにIntellijによって作成された隠しファイルです。これが、この種類のファイルをバージョン管理しない理由です。他の開発者が別のIDEを使用する必要はありません。
Intellijを閉じた場合、同じファイルを元に戻す方法はないと思いますが、新しい.imlファイルを再生成するのは非常に簡単です。
Gradleベースのプロジェクト
Sync Project with Gradle Files
ボタンをクリックします(これは )ツールバーで;
Mavenベースのプロジェクト
[ファイル]> [プロジェクト構造]> [モジュール]> [追加]> [モジュールのインポート]>(モジュールのベースディレクトリを選択)> [OK]に移動します。
編集:
私の以前の回答はIntelliJ 14に基づいていましたが、コメントの hBrent と BeC で示されているように、新しいバージョンではいくつかの点が変更されたようです。
この更新にIntellij Community 2018.1を使用:
Mavenベースのプロジェクト
手順は同じですが、私が見た唯一の違いは、Addアイコンが緑色ではなくなったことです。 rootFolder/.idea/modules.xml
を削除し、その後モジュールを追加して、以前の構成に関するすべての情報をリセットすることもできます。
Gradleベースのプロジェクト
標準の更新アイコンで表される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>