So laden Sie Quellen in das lokale Maven-Repository hoch
Lesezeit: 3 Minuten
Andriy Kopachevskyy
Angenommen, ich habe ein Maven 2 Java-Projekt auf meinem lokalen Computer. Ich baue das Projekt .jar Datei und schiebe sie mit in mein lokales Maven-Repo mvn install.
Frage:
Wie kann ich Maven zwingen, auch die Projektquellen zu pushen? jar zum lokalen Repo?
Dies ist nützlich, wenn ich das oben genannte Projekt beim Entwickeln eines neuen Projekts als Abhängigkeit verwende und das verwenden kann mvn eclipse:eclipse -DdownloadSources Besonderheit.
Sean Patrick Floyd
Dieses Snippet installiert/bereitstellt automatisch ein Quell-JAR aus jeder Installation/Bereitstellung:
Wow, es ist so einfach! Es war schwer, dies auf der Maven-Site zu finden, danke!
– Andriy Kopachevskyy
28. Okt. 2010 um 8:40 Uhr
Gibt es eine Möglichkeit, dies über die Befehlszeile zu tun, ohne den POM zu bearbeiten?
– Hertzsprung
21. Mai 2012 um 16:06 Uhr
@hertzsprung sicher: mvn clean source:jar install
– Sean Patrick Floyd
21. Mai 2012 um 21:05 Uhr
Vergessen Sie nicht, die neueste Plugin-Version zu verwenden. Die aktuellste Version ist 3.2.1
– Ofir Meguri
19. März 2020 um 8:16 Uhr
Der lustigste Teil ist die Reihenfolge der Plugins in der Befehlszeile („source:jar install“ funktioniert, aber „install source:jar“ funktioniert bei mir nicht, maven3.5.2/java8)
– abstrakter Hund
1. August 2020 um 5:06 Uhr
Ich habe eine bessere Antwort gefunden. Fügen Sie diese einfach zu Ihrer pom.xml hinzu
Bei mir funktionierte es immer noch nicht richtig. Die Datei „sources.jar“ wurde generiert und war im Zielordner verfügbar, jedoch nicht im lokalen Repository. Der Grund dafür war, dass ich die Phase anders angegeben habe: <phase>install</phase> In diesem Fall wird zuerst das Maven-Installations-Plugin ausgeführt und kopiert die JAR-Dateien in das lokale Repo. Anschließend wird die source.jar generiert (und somit nicht kopiert).
[INFO] --- maven-install-plugin:2.4:install (default-install) @ foo ---
[INFO] Installing foo.jar into local repo
[INFO] Installing pom.xml into local repo
[INFO] Installing javadoc.jar into local repo
[INFO]
[INFO] --- maven-source-plugin:3.0.1:jar-no-fork (attach-sources) @ foo ---
[INFO] Building jar: foo-sources.jar
Daher ist es wichtig, eine frühere Phase als die Installation anzugeben (wie in der akzeptierten Antwort korrekt erwähnt).