Ich habe also ein Projekt und mache regelmäßig Releases, um ohne Probleme maven zu werden. Ich möchte jetzt eine SNAPSHOT-Version dieses Projekts zur Verfügung stellen. Also mache ich 'mvn clean deploy'. Alles funktioniert wie Sie unten sehen können:
[INFO] Abrufen der vorherigen Build-Nummer aus Sonatype-Nexus-Snapshots Hochladen: https://oss.sonatype.org/content/repositories/snapshots/me/soliveirajr/menta-regex/0.9.6-SNAPSHOT/ menta-regex-0.9.6-20111010.153035-2.jar 5K hochgeladen (menta-regex-0.9.6-20111010.153035-2.jar)
Ich gehe zu meinem Sonatype-Manager und finde den Schnappschuss:
Aber jetzt, wenn ich versuche, diese Momentaufnahme als Abhängigkeit von einem anderen Projekt in einem anderen Rechner zu verwenden, erhalte ich Folgendes:
<dependency>
<groupId>me.soliveirajr</groupId>
<artifactId>menta-regex</artifactId>
<version>0.9.6-SNAPSHOT</version>
</dependency>
Fehlt:
1) me.soliveirajr: menta-regex: Glas: 0,9,6-SNAPSHOT
Versuchen Sie, die Datei manuell von der Projektwebsite herunterzuladen.
Dann installieren Sie es mit dem Befehl: mvn install: Installationsdatei -DgroupId = me.soliveirajr -DartifactId = menta-regex -Dversion = 0.9.6-SNAPSHOT -Dpackaging = jar -Dfile =/Pfad/in/Datei
Wenn Sie Ihr eigenes Repository hosten, können Sie die Datei alternativ dort bereitstellen: mvn deploy: deploy-file -DgroupId = me.soliveirajr -DartifactId = menta-regex -Dversion = 0.9.6-SNAPSHOT -Dpackaging = jar -Dfile =/Pfad/zu/file -Durl = [url] -DrepositoryId = [id ]
Wie zwinge ich maven, die SNAPSHOT-Version in mein lokales Repository (.m2) herunterzuladen?
Fügen Sie dies einfach zu ~/.m2/settings.xml hinzu:
<profiles>
<profile>
<id>allow-snapshots</id>
<activation><activeByDefault>true</activeByDefault></activation>
<repositories>
<repository>
<id>snapshots-repo</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases><enabled>false</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
</profile>
</profiles>
Der Vollständigkeit halber möchte ich hinzufügen, dass es auch möglich ist, durch Ändern des pom.xml
Eines Projekts einfach hinzuzufügen
<repository>
<id>oss.sonatype.org-snapshot</id>
<url>http://oss.sonatype.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
zu Ihrer Repository-Liste.
Meiner Meinung nach ist dies eine bessere Lösung als das Ändern von ~/.m2/settings.xml
. Die Datei pom.xml
Steht auch anderen Projektteilnehmern über Git zur Verfügung und ermöglicht ihnen das Herunterladen der Schnappschüsse.
Quelle: diese Antwort
http://maven.40175.n5.nabble.com/How-to-enable-SNAPSHOT-td130614.html
Sind Sie für die Aktivierung von Momentaufnahmen konfiguriert?
Sie können Momentaufnahmen in der Repository-Konfiguration (~/.m2/settings.xml) aktivieren:
<settings>
<profiles>
<profile>
<repositories>
<repository>
<snapshots> <<<<<<<<<<<
<enabled>true</enabled> << ADD THIS
</snapshots> <<<<<<<<<<<
. . .
</settings>
Siehe maven.Apache.org/settings.html#Repositories für weitere Eigenschaften.