475 Stimmen

Quell-JARs aus dem Maven-Repository abrufen

Hat jemand eine Idee, wenn Sie Quelle JARs auf Maven Repositories finden können?

843voto

Alain O'Dea Punkte 19581

Maven Micro-Tip: Quellen und Javadocs abrufen

Wenn Sie Maven in einer IDE verwenden, haben Sie oft das Bedürfnis, dass Ihre IDE den Quellcode und die Javadocs für Ihre Bibliotheksabhängigkeiten auflöst. Es gibt einen einfachen Weg, um dieses Ziel zu erreichen.

mvn dependency:sources
mvn dependency:resolve -Dclassifier=javadoc

Mit dem ersten Befehl wird versucht, den Quellcode für jede der Abhängigkeiten in Ihrer pom-Datei herunterzuladen.

Mit dem zweiten Befehl wird versucht, die Javadocs herunterzuladen.

Maven ist hier der Gnade der Bibliothekspaketierer ausgeliefert. So werden einige von ihnen keinen Quellcode verpackt haben und viele von ihnen werden keine Javadocs haben.

Falls Sie viele Abhängigkeiten haben, kann es auch eine gute Idee sein, das Einschlüsse/Ausschlüsse zu verwenden, um bestimmte Artefakte zu erhalten, der folgende Befehl wird zum Beispiel nur die Quellen für die Abhängigkeit mit einer bestimmten artifactId:

mvn dependency:sources -DincludeArtifactIds=guava

Source : http://tedwise.com/2010/01/27/maven-micro-tip-get-sources-and-javadocs/

Dokumentation: https://maven.apache.org/plugins/maven-dependency-plugin/sources-mojo.html

96voto

Rob Audenaerde Punkte 17799

Konfigurieren und Ausführen des maven-eclipse-Plugins (z. B. über die Kommandozeile) mvn eclipse:eclipse )

   <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-eclipse-plugin</artifactId>
                <configuration>
                    <downloadSources>true</downloadSources>
                    <downloadJavadocs>true</downloadJavadocs>
                </configuration>
            </plugin>
        </plugins>
    </build>

38voto

Pascal Thivent Punkte 548176

Wenn ein Projekt ein Jar der Projektquellen erstellt und es in ein Maven-Repository auslagert, dann werden Sie es finden :)

Zu Ihrer Information: Quellenartefakte werden im Allgemeinen von der maven-source-plugin . Dieses Plugin kann die Haupt- oder Testquellen eines Projekts in einem jar-Archiv bündeln und, wie in Quell-Plugin konfigurieren :

(...) Die erzeugte jar-Datei wird nach dem Wert des Parameters finalName plus "-sources", wenn es sich um die Hauptquellen handelt. Andernfalls würde es heißen finalName plus "-test-sources", wenn es sich um die Testquellen handelt.

Der zusätzliche Text, der zur Beschreibung eines Artefakts angegeben wurde (hier "-sources" oder "-test-sources"), wird als Klassifikator bezeichnet.

Um eine Abhängigkeit von einem Artefakt zu deklarieren, das einen Klassifikator verwendet, fügen Sie einfach die <classifier> Element. Zum Beispiel:

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate</artifactId>
  <version>3.2.7.ga</version>
  <classifier>sources</classifier>
</dependency>

Beachten Sie, dass Sie dies im Allgemeinen nicht tun, da die meisten IDEs Unterstützung für das Herunterladen von Quellen (und/oder JavaDoc) aus dem Hauptartefakt bieten, ohne explizit eine Abhängigkeit von diesen zu deklarieren.

Schließlich ist auch zu beachten, dass einige Repository-Suchmaschinen die Suche nach Artefakten anhand des Klassifizierers ermöglichen (zumindest Nexus mit der erweiterten Suche). Siehe diese Suche zum Beispiel.

19voto

Maddin Punkte 867

Zum Herunterladen eines Artefakts verwenden Sie

mvn dependency:get -Dartifact=groupId:artifactId:version:packaging:classifier

Für Groovy-Quellen wäre dies

mvn dependency:get -Dartifact=org.codehaus.groovy:groovy-all:2.4.6:jar:sources

Für das Javadoc von Groovy würden Sie verwenden

mvn dependency:get -Dartifact=org.codehaus.groovy:groovy-all:2.4.6:jar:javadoc

Dies stellt das angegebene Artefakt in Ihr lokales Maven-Repository, d.h. normalerweise $HOME/.m2/repository .

dependency:sources lädt nur die Quellen der Projektabhängigkeiten herunter, nicht die Quellen der Plugins und auch nicht die Quellen der in den Plugins definierten Abhängigkeiten.

19voto

dev_doctor Punkte 697

Le site Maven-Ideen-Plugin für IntelliJ Idea können Sie angeben, ob die Quellen und das Java-Dokument aufgelöst und heruntergeladen werden sollen oder nicht

mvn idea:idea -DdownloadSources=true -DdownloadJavadocs=true

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X