没有从 artifactory 获取最新的快照

Not getting latest snapshot from artifactory

我正在使用 artifactory 来提供 jar 文件。我有 scala 个项目 SBT。 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 存在,也没有在我的本地项目中得到解决。再次构建框架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 时进行一些更改,它也始终只能从中解决。 None 的新更改将得到反映。

有人可以告诉我如何解决这个问题吗?因此,我需要始终清除工件并构建两次 jars

问题在于为 jar 工件计算的唯一快照版本。当其他工件获得版本 2.11-1.2-20150221.064040-1 时,jar 工件具有不同的版本 - 2.11-1.2-20150221.064040-2.
造成这种情况的根本原因在于存储库Maven Snapshot Version Behavior is configured for unique snapshots and the way SBT deploys the artifacts. See the answer to this Whosebug question对问题的很好解释
时的Artifactory行为的组合。 如果您想使用独特的快照,您可以:

1) 应用 Artifactory 邮件列表中描述的 solution(基于提到的 Whosebug question/answer)
您需要按以下方式定义存储库才能传递 build.timestamp 矩阵参数:

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

2) 尝试使用 sbt-unique-version. It this case you will need to change the Maven Snapshot Version Behavior 到 "Deployer"。