Sortieren Sie Maven-Abhängigkeiten in Eclipse

Antworten:

37

Endlich ist es mit Eclipse Photon möglich.

Aktivieren Sie einfach das Kontrollkästchen Sort library entries alphabetically in Package Explorerunter PreferencesJavaAppearance

Siehe auch hier unter 'Bibliothekseinträge im Paket-Explorer alphabetisch sortieren'.

Leider gibt es zumindest für mich einen Fehler, dass auch die Quellordner neu angeordnet werden, siehe hier .

Vorlieben

Andreas Schaller
quelle
40

Ich denke, Sie beziehen sich auf das m2eclipse-Plugin. Sie haben folgende Möglichkeiten:

  1. Die Reihenfolge im Navigator ist die Klassenpfadreihenfolge. Sie können die Abhängigkeiten im POM sortieren, um eine bessere Liste zu erhalten. Natürlich gibt es ein Problem mit vorübergehenden Abhängigkeiten.

  2. Sie können die POM-Datei im POM-Editor öffnen und die Abhängigkeiten auf der Registerkarte "Abhängigkeitshierarchie" untersuchen.

  3. Sie können einen Teil des Namens einer Abhängigkeit eingeben, um ihn zu finden, wenn das Baumelement "Maven-Abhängigkeiten" geöffnet ist.

Aaron Digulla
quelle
13
Deprimierend. Dies ist eine gute Antwort (+1), aber die Optionen sind sehr unbefriedigend. Vielleicht sollte jemand eine Feature-Anfrage für eine alphabetische Reihenfolge einreichen, aber ich würde nicht wissen, ob dies auf Eclipse oder m2eclipse abzielen sollte.
Sean Patrick Floyd
2
Leider funktioniert keine dieser Optionen: (1) passt nicht zu vorübergehenden Abhängigkeiten, wie Sie bemerken, (2) Sie können es dort sehen, aber nicht erweitern, um die Pakete / Klassen darin zu sehen, (3) okay, solange Sie können den Namen des Artefakts GENAU ohne Aufforderung / Rückmeldung und ohne Fehler eingeben. Zum Beispiel suchte ich nur nach "Selen-Fernbedienungstreiber" in einer Liste mit einem halben Dutzend Selen-JARs (die alle mit "Selen-" vorangestellt sind) - um "Selen-re" ohne Fehler einzugeben und ohne Feedback auf dem Bildschirm zu sehen, ist es ziemlich schwierig.
Adam Burley
@Kidburla: Öffnen Sie "Maven Dependencies" im Paket-Explorer. Geben Sie "sel" ein und gehen Sie dann mit Cursor-Up / Down durch alle Instanzen, die mit diesen drei Buchstaben beginnen.
Aaron Digulla
16

Mavens Pom-Viewer macht den Trick:

Doppelklicken Sie auf das, was pom.xmlSie interessiert. Eclipse öffnet es in einem speziellen Viewer mit fünf Registerkarten unten: Übersicht, Abhängigkeiten, Abhängigkeitshierarchie, effektives POM und pom.xml.

Klicken Sie auf Dependency Hierarchy. Auf der rechten Seite der Ansicht sollte Folgendes angezeigt werden:

Geben Sie hier die Bildbeschreibung ein

Es ist alphabetisch sortiert.

Jake Toronto
quelle
Nicht standardmäßig alphabetisch für mich, musste auf die Schaltfläche "Sortieren" (in der oberen rechten Ecke in Ihrem Screenshot) klicken
George
13

Ich bin gerade auf das Sortpom Maven Plugin gestoßen . Auf diese Weise können Sie die Abhängigkeiten in Ihrem POM mit einem Maven-Befehl sortieren. Sie können es also in Eclipse, aber auch in jeder anderen IDE verwenden (ich verwende NetBeans, wo Sie es als benutzerdefinierte Zieldefinition konfigurieren können).

Einfach ausführen:

mvn com.github.ekryd.sortpom:sortpom-maven-plugin:sort -Dsort.sortDependencies=groupId,artifactId

Im GitHub-Wiki finden Sie alle Parameter .

Aber wie in den Kommentaren erwähnt, ist eine solche Sortierung keine gute Idee. Lassen Sie Ihre IDE sich darum kümmern. NetBeans verfügt in einem Projekt über einen Ordner "Abhängigkeiten", in dem die Abhängigkeiten standardmäßig sortiert angezeigt werden (zuerst nach Typ, dann nach Name).

Jasper de Vries
quelle
5
IMO ist dies im Allgemeinen eine schlechte Idee, da Maven (ab Version 2.0.9) eine deterministische Klassenpfadreihenfolge verwendet, die auf der in POM angegebenen Reihenfolge basiert . Das Sortieren kann Ihren Build leicht durcheinander bringen.
Eis
@eis - FYi, das Sortpom-Plugin sortiert standardmäßig keine Module oder Abhängigkeiten (aus diesem Grund). Dies kann durchgeführt werden, wenn es konfiguriert ist, und die Dokumentation enthält klare Informationen zu den Warnungen.
Luis.espinal
1

Schauen Sie sich die Projekteigenschaften im Abschnitt "Java-Erstellungspfad" auf der Registerkarte "Bibliotheken" an.

Ich weiß nicht genau, ob dies für das m2eclipse-Plugin funktioniert.

Salandur
quelle
Das ist tatsächlich sortiert und eine bessere Lösung als der Versuch, die Liste manuell zu scannen, um festzustellen, ob sich Ihr Artikel dort befindet.
Jake Toronto