Wie können Module dauerhaft aus einem Intellij Maven Project entfernt werden?

8

Ich arbeite zur Zeit an einem größeren Maven-basierten Projekt in IntelliJIdea 12.1.6 Ultimate. Ich arbeite seit ca. 5 Monaten mit IntelliJIdea.

Ein enthaltenes Modul hat Abhängigkeiten von einem anderen Modul. Die Quelle des abhängigen Moduls war bis vor kurzem auch Teil meines Projekts. Da ich das abhängige Modul aus meinem Projekt entfernt habe, bekomme ich Kompilierfehler, wenn ich versuche, die Quelle ohne Maven zu kompilieren.

Die pom.xml der entfernten Module in Intellij scheint in den Einstellungen- & gt; Maven- & gt; Ignorierte Dateien platziert zu sein. Ich kann es nicht von dort entfernen, nur das Häkchen setzen oder abwählen. Es ist nicht möglich, das Modul erneut einzubinden, da IntelliJ immer noch unter Ignorierte Dateien angibt.

2 Möglichkeiten erlauben mir, neu zu kompilieren: Deaktivieren Sie die Pom von Ignored files, die das Modul wieder in meinem Projekt enthalten wird. Oder löschen Sie die Quelle des abhängigen Moduls, damit mein Projekt das abhängige Modul aus dem Maven-Repository lädt. Aber jedes Mal, wenn ich mein Projekt von SVN aktualisiere, wird die Quelle des abhängigen Moduls wiederhergestellt (ich weiß nicht, warum das überhaupt passiert, da es nicht Teil meines Projekts ist) und der Zyklus beginnt von neuem.

Ich habe das eine Weile gegoogelt, weil es wirklich nervig wird. Es wurde ein Problem mit mehreren ausgeschlossenen Modulen. Ich könnte das intellij-Projekt von Grund auf neu erstellen, aber da viele IntelliJ-Einstellungen vorgenommen wurden (nicht auf das Problem bezogen), würde ich das lieber lösen.

Jede Hilfe ist willkommen, ich denke, ich muss etwas vermissen

    
herpnderpn 24.10.2013, 13:59
quelle

3 Antworten

20

Ein Kollege, der mehr über Maven verfügt, hat mir die Antwort gegeben:

Der Trick besteht nicht darin, das Quellmodul aus dem intellij-Projekt zu entfernen, sondern es aus maven zu entfernen (in der Maven-Projekte-Registerkarte in intellij). Intellij wird dann bitten, das Quellmodul auch aus dem intellij-Projekt zu entfernen und es ist endgültig weg.

Klicken Sie mit der rechten Maustaste auf das Maven-Projekt - & gt; entferne Projekte

Hätte nicht gedacht, dass dies einen Unterschied macht.

    
herpnderpn 25.10.2013, 14:32
quelle
2

Funktioniert einer dieser beiden Punkte für Sie?

  • NEW In einem Ihrer Submodule könnte eine Abhängigkeit bestehen, die auf das entfernte Artefakt verweist. Um sicherzustellen, dass dies der Fall ist, sollten Sie Ihre $ HOME / .m2 umbenennen und das Projekt neu erstellen. Wenn dies tatsächlich der Fall ist, suchen Sie einfach nach der Abhängigkeit in Ihren Poms und löschen Sie sie aus den Untermodulen
  • Klicken Sie mit der rechten Maustaste auf den übergeordneten pom.xml - & gt; Maven - & gt; Reimport
  • Kopieren Sie das Projekt in ein separates Verzeichnis. Datei - & gt; Projekt importieren - & gt; Wähle neu erstelltes Verzeichnis - & gt; Wählen Sie Maven?

PS. Idea ist hervorragend in der Aufrechterhaltung der Projektstruktur in Übereinstimmung mit Maven-Projekt. Sobald Sie Ihren Pom ändern, müssen Sie das Projekt neu laden. Idea kann Änderungen, die an Ihrem pom.xml vorgenommen wurden, automatisch erkennen und sie auf das Projekt anwenden. Um dies zu aktivieren, drücken Sie Strg + Shift + A , geben Sie 'maven auto' ein, wählen Sie "Importieren", Kontrollkästchen "Maven-Projekt automatisch importieren";

    
Andrey Chaschev 24.10.2013 14:32
quelle
0

Dies bezieht sich möglicherweise nicht direkt auf das OP, aber ...

Verwenden Sie IntelliJ 2016.5 , um ein Maven-Modul zu entfernen und es ist zugrunde liegenden Quellcode und es als Untermodul aus dem übergeordneten entfernen, Wechseln Sie zur Registerkarte Project Files , suchen Sie das unerwünschte Modul und verwenden Sie das Dreiecksymbol, um es zu öffnen, dann löschen Sie den Eintrag, der es auf der Festplatte darstellt.

Wenn Sie Delete auf das Modul selbst schlagen, wird es nur als in der IDE verborgen markiert.

    
jmkgreen 20.10.2016 10:04
quelle