Wie installiere ich Maven Artefakt mit Quellen von der Kommandozeile?

92

Wie installiere ich Maven Artefakt mit Quellen?

Daher muss ich später kein Projekt in Eclipse öffnen, um Code anzuzeigen.

EDIT: Ich weiß, dass ich diesen Code zu pom.xml hinzufügen kann

<plugin>
        <artifactId>maven-source-plugin</artifactId>
        <executions>
                <execution>
                        <id>attach-sources</id>
                        <phase>verify</phase>
                        <goals>
                                <goal>jar</goal>
                        </goals>
                </execution>
        </executions>
</plugin>

aber ich würde es gerne über die Kommandozeile tun (um es universeller zu machen).

IAdapter
quelle
Und wo wollen Sie diese Quellen?
Sean Patrick Floyd

Antworten:

156

So laden Sie Quellen für Ihre Abhängigkeiten herunter:

mvn eclipse:eclipse -DdownloadSources=true

So hängen Sie Quellen an eine Installation an:

mvn source:jar install

Es ist auch vorzuziehen, das Ziel source:jar-no-forkin Ihrem POM zu verwenden, wie auf der Maven-Source-Plugin- Seite beschrieben.

Dogbane
quelle
aber die Quellen des installierten Schnappschusses existieren nicht :(
IAdapter
58

Einfach, holen Sie sich Ihre Quellen und JavaDocs:

mvn dependency:resolve -Dclassifier=javadoc
mvn dependency:resolve -Dclassifier=sources
Joseph Lust
quelle
2
@csgeek Frage ist mehrdeutig formuliert, kann verschiedene Arten interpretieren. Cmd lädt mvn src und doc herunter und wird lokal installiert, sodass keine manuelle Zuordnung von Eclipse erforderlich ist. Siehe die Antwort von dogbane für die Installation von src für ein lokal erstelltes Glas.
Joseph Lust
1
viel bessere und sauberere Option .. besser als die individuelle Manipulation von pom.xml- oder Eclipse-Einstellungen, ändern sich diese Dinge häufiger.
Karthik Karuppannan
"mvn source: jar install" würde weder die pom- noch die Eclipse-Einstellungen ändern. Es ist das Maven-Ziel, die Quellen eines lokalen Code-Repos im .m2-Repository zu installieren. (Zum Beispiel, wenn Sie eine Snapshot-Version geklont haben, auf die Sie aus einem anderen Projekt verweisen möchten.) Die Abhängigkeitsauflösung dient zum Herunterladen von externen Quell- oder Javadoc-Jars.
Cslotty
4

Bitte verwenden Sie mvn source:jarinstall, um die Maven-Artefakte zu installieren.

Venky Vungarala
quelle
1
Das scheint nicht zu funktionieren. Es wird nur ein Quellenglas generiert. Ich möchte auf mvn clean installdiese Weise sowohl Objekt- als auch Quellgläser in meinem m2 kombinieren . Ich greife von Android Studio mit gradle auf sie zu.
TheRealChx101
-1

Mit Eclipse ist es ganz einfach. Klicken Sie mit der rechten Maustaste auf das Projekt in der Projekt-Explorer-Ansicht, klicken Sie auf den Menüpunkt Maven und dann auf Quellen herunterladen.

Gursel Koca
quelle
Die Quellen des installierten Snapshots sind jedoch nicht vorhanden :( Ich erhalte die Fehlermeldung 24.02.11 10:23:23 MEZ: Java-Quelle für Artefakt kann nicht heruntergeladen werden my: project: 1.2.18-SNAPSHOT
IAdapter
Nun, Sie haben Ihre Frage geklärt. Meine Antwort ist nicht mehr gültig.
Gursel Koca
Warum? Bei Maven geht es darum, Dinge automatisch zu erledigen. Ich kann nicht darauf zugreifen, weil das Glas damit nicht erstellt wurde.
IAdapter