私は現在、IntelliJIdea 12.1.6Ultimateで大規模なMavenベースのプロジェクトに取り組んでいます。私は約5か月からIntelliJIdeaを使用しています。
含まれているモジュールは、別のモジュールに依存しています。依存モジュールのソースも最近まで私のプロジェクトの一部でした。プロジェクトから依存モジュールを削除したため、Mavenを使用せずにソースをコンパイルしようとすると、コンパイルエラーが発生します。
Intellijで削除されたモジュールのpom.xmlは、[設定]-> [Maven]-> [無視されたファイル]に配置されているようです。そこから削除できないようです。チェックするかチェックを外すだけです。 IntelliJはまだ無視されたファイルの下にあると言うので、モジュールを再び含めることはできません。
2つの方法で再度コンパイルできます。無視されたファイルからpomのチェックを外します。これにより、プロジェクトにモジュールが再び含まれます。または、依存モジュールのソースを削除して、プロジェクトがMavenリポジトリから依存モジュールをロードするようにします。しかし、svnからプロジェクトを更新するたびに、依存モジュールのソースが復元され(プロジェクトの一部ではないため、なぜこれが発生するのかわかりません)、サイクルが新たに始まります。
それは本当に迷惑になるので、私はしばらくこれをググった。いくつかの除外されたモジュールで問題になりました。 intellij-projectを最初から再構築することはできましたが、多くのIntelliJ設定が行われたため(問題とは関係ありません)、むしろこれを解決したいと思います。
どんな助けでもありがたいです、私は何かが欠けているに違いないと思います
Mavenについてより深い知識を持っている同僚が私に答えを教えてくれました:
秘訣は、ソースモジュールをintellijプロジェクトから削除するのではなく、mavenから削除することです(intellijのmavenプロジェクトタブで)。 Intellijは、ソースモジュールもintellijプロジェクトから削除するように要求し、最終的に削除されます。
Mavenプロジェクトを右クリック->プロジェクトを削除
これがそのような違いを生むとは思いませんでした。
これらの2つのポイントのいずれかがあなたのために働きますか?
pom.xml
-> Maven-> ReimportPS。アイデアは、Mavenプロジェクトに従ってプロジェクト構造を維持するのに優れています。 pomに変更を加えたら、プロジェクトをリロードする必要があります。 Ideaは、pom.xml
に加えられた変更を自動的に検出し、それらをプロジェクトに適用することもできます。これを有効にするには、を押します Ctrl+Shift+A、「maven auto」と入力し、「インポート」を選択し、「Mavenプロジェクトを自動的にインポートする」チェックボックスをオンにします。
これはOPに直接関係しないかもしれませんが、...
IntelliJ 2016.5を使用して、Mavenモジュールandを削除し、その基になるソースコードand親からサブモジュールとして削除し、Project Files
タブに移動し、不要なモジュールを見つけて、三角形の記号を使用して開きますthenディスク上でそれを表すエントリを削除します。
モジュール自体でDelete
を押すと、IDE内で非表示としてマークされるだけです。