未从artifactory获取最新快照



我正在使用artifactory来提供jar文件。我有scalaSBT的项目。SBT无法解析最新的快照。它总是在解析第二个版本。我的意思是,如果我从artifactory中清除特定的jar文件,我需要构建两次。只有到那时,问题才会得到解决。

清除罐子,在第一次构建之后,这些都是虚假事实:

- 1.2-SNAPSHOT
   - frameworks_2.11-1.2-20150221.064040-1-javadoc.jar
   - frameworks_2.11-1.2-20150221.064040-1-sources.jar
   - frameworks_2.11-1.2-20150221.064040-1.pom
   - frameworks_2.11-1.2-20150221.064040-2.jar
   - maven-metadata.xml
 - maven-metadata.xml

即使罐子存在,在我的本地项目中也没有得到解决。在再次构建框架jar之后,这里是artifactory列表。

- 1.2-SNAPSHOT
   - frameworks_2.11-1.2-20150221.064040-1-javadoc.jar
   - frameworks_2.11-1.2-20150221.064040-1-sources.jar
   - frameworks_2.11-1.2-20150221.064040-1.pom
   - frameworks_2.11-1.2-20150221.064040-2-javadoc.jar
   - frameworks_2.11-1.2-20150221.064040-2-sources.jar
   - frameworks_2.11-1.2-20150221.064040-2.jar
   - frameworks_2.11-1.2-20150221.064040-2.pom
   - frameworks_2.11-1.2-20150221.064040-3.jar
   - maven-metadata.xml
 - maven-metadata.xml

在这之后,问题正在得到解决。现在,即使在构建jar时进行了一些更改,它也总是仅从中解决。任何新的变化都不会得到反映。

有人能告诉我如何解决这个问题吗?因此,我需要始终清除artifactory并构建两次jar

问题在于为jar工件计算的唯一快照版本。当其他工件的版本为2.11-1.2-20150221.064040-1时,jar工件有一个不同的版本——2.11-1.2-20150221.064040-2
这种情况的根本原因在于,当存储库Maven Snapshot Version behavior配置为唯一快照时,Artifactory行为与SBT部署工件的方式相结合。请参阅这个stackoverflow问题的答案,以获得对该问题的良好解释
如果你想使用唯一的快照,你可以:

1) 应用Artifactory邮件列表中描述的解决方案(基于提到的stackoverflow问题/答案)
为了传递build.timestamp矩阵参数,您需要以以下方式定义存储库:

publishTo := Some("Artifactory Realm" at "http://localhost:8081/artifactory/libs-snapshot-local;build.timestamp=" + new java.util.Date().getTime)

2) 请尝试使用sbt唯一版本。在这种情况下,您需要将Maven Snapshot Version Behavior更改为"Deployer"。

最新更新