所以我有一个项目,我定期发布maven没有问题。我现在想要提供这个项目的SNAPSHOT版本。所以我做'mvn clean deploy'。一切正常,如下所示:
[INFO]从sonatype-nexus-snapshots中检索以前的内部版本号 正在上传: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上传(menta-regex-0.9.6-20111010.153035-2.jar)
我去找我的sonatype经理,我可以找到快照:
但是现在当我尝试将此快照用作对另一台机器中某些其他项目的依赖时,我得到:
<dependency>
<groupId>me.soliveirajr</groupId>
<artifactId>menta-regex</artifactId>
<version>0.9.6-SNAPSHOT</version>
</dependency>
缺失:
1)me.soliveirajr:menta-regex:jar:0.9.6-SNAPSHOT
尝试从项目网站手动下载文件。
然后,使用以下命令安装它: mvn install:install-file -DgroupId = me.soliveirajr -DartifactId = menta-regex -Dversion = 0.9.6-SNAPSHOT -Dpackaging = jar -Dfile = / path / to / file
或者,如果您拥有自己的存储库,则可以在那里部署文件: mvn deploy:deploy-file -DgroupId = me.soliveirajr -DartifactId = menta-regex -Dversion = 0.9.6-SNAPSHOT -Dpackaging = jar -Dfile = / path / to / file -Durl = [url] -DrepositoryId = [id ]
那么如何强制maven将SNAPSHOT版本下载到我的本地(.m2)存储库?
答案 0 :(得分:50)
只需将其添加到〜/ .m2 / settings.xml:
<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>
答案 1 :(得分:2)
答案 2 :(得分:1)
为了完整性,我想补充一点,也可以通过修改项目的pom.xml
,只需添加
<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>
到您的存储库列表。
我认为,这比修改~/.m2/settings.xml
更好。 pom.xml
文件也将通过Git供其他项目参与者使用,并允许他们也下载快照。
来源:this answer
答案 3 :(得分:0)
您可以在存储库配置(〜/ .m2 / settings.xml)中启用快照:
<settings>
<profiles>
<profile>
<repositories>
<repository>
<snapshots> <<<<<<<<<<<
<enabled>true</enabled> << ADD THIS
</snapshots> <<<<<<<<<<<
. . .
</settings>
有关更多属性,请参阅maven.apache.org/settings.html#Repositories。