我有一个在GitHub上托管的项目,我正在使用一个分支来开发新版本:https://github.com/jrtom/jung/tree/common.graph
主分支(v2.1.1)构建正常。
common.graph
分支与master
的区别仅在于两个方面:
pom.xml
文件中的版本从2.2-SNAPSHOT
提升到3.0-SNAPSHOT
。这实际上是化妆品。19.0
提升到20.0-SNAPSHOT
,这样我就可以开始针对新功能进行开发了。
这是Guava文档的正确依赖:https://github.com/google/guava#snapshots common.graph
分支的拉取请求通过Travis成功构建:https://github.com/jrtom/jung/pull/65
然而,当我克隆这个分支时:
git clone --branch common.graph --single-branch git@github.com:jrtom/jung.git jung_3.0
然后运行mvn install
,我收到此错误:
Failed to execute goal on project jung-api:
Could not resolve dependencies for project net.sf.jung:jung-api:jar:3.0-SNAPSHOT:
Could not find artifact com.google.guava:guava:jar:20.0-SNAPSHOT
吹走〜/ .m2 / repository下的本地存储库没有任何效果。
据我所知 - 从阅读Maven文档,查看引用Guava的v20快照的其他pom.xml
文件 - 这个更改应该只是工作,但事实并非如此。
将番石榴依赖项更改为18.0
确实有效。因此-SNAPSHOT
规范似乎有些古怪,但我看不出如何。
任何建议/指示都将不胜感激。
更新:
@ RC。下面的回复指出了我正确的方向,虽然我还需要找出适合Google快照的存储库规范。供将来参考,这是规范:
<repositories>
<repository>
<id>google-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
答案 0 :(得分:3)
由于显而易见的原因,快照不会被maven central推送。
如果您真的想要番石榴快照,那么seems
就会推送它们repositoryadd a custom repository到你的pom,使用类似的东西(改编自文档):
<repositories>
<repository>
<releases>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
<id>sonatype-OSS-snaphots</id>
<name>Sonatype OSS Snapshots</name>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
<layout>default</layout>
</repository>
</repositories>