Java 使用sbt从不同的解析程序检索最新快照

Java 使用sbt从不同的解析程序检索最新快照,java,playframework-2.0,sbt,Java,Playframework 2.0,Sbt,我正在使用Play2.2.1和SBT0.13.0编写一个应用程序。 在这个应用程序中,我依赖于另一个项目,它是一个快照,我也对它进行了一些修改。如果我构建该项目,它将被写入本地Maven存储库。但通常该项目应该从私有的在线Maven存储库中检索 我如何将sbt配置为始终检索最新版本的快照,而不管是从本地Maven存储库还是在线Maven存储库检索快照 到目前为止,我在build.sbt中添加了以下内容: resolvers += "Online Repo" at "https://online-

我正在使用Play2.2.1和SBT0.13.0编写一个应用程序。 在这个应用程序中,我依赖于另一个项目,它是一个快照,我也对它进行了一些修改。如果我构建该项目,它将被写入本地Maven存储库。但通常该项目应该从私有的在线Maven存储库中检索

我如何将sbt配置为始终检索最新版本的快照,而不管是从本地Maven存储库还是在线Maven存储库检索快照

到目前为止,我在build.sbt中添加了以下内容:

resolvers += "Online Repo" at "https://online-repo.com/somePath"
resolvers += "Local Maven Repository" at "file:///"+Path.userHome.absolutePath+"/.m2/" 
libraryDependencies += "com.some.project" % "a-project" % "2.0-SNAPSHOT"
问题是项目是从第一个解析器中检索的。在这种情况下,“在线回购”。尽管“本地Maven存储库”中的快照可能会更新

如何配置sbt以始终检索最新版本的 快照,不管是否必须从本地Maven检索 存储库或在线Maven存储库

根据:

更新根据生成中的设置解析依赖项 文件,例如libraryDependencies和解析器

直接运行更新任务(与依赖于 它)将强制运行解析,无论配置与否 改变。这样做是为了刷新远程快照 依赖关系


这意味着SBT是通过设计来实现的。

您希望SBT检查所有解析器的最新可用版本吗?我怀疑这是可能的。我甚至怀疑它在任何构建工具中都是可能的。作为一种解决方法,您可以将依赖关系发布到m2 repo以及Ivy的本地repo。不,并非所有解析程序都需要检查。检查上述两个解析器就足够了。谢谢你的评论,因为我可能因为涉及到两个构建工具而在推理中遇到了错误。这是否意味着你最终会删除这个问题?我认为它仍然有用。特别是由于sbt使Maven的使用变得非常容易,因此我认为我不是唯一一个有这个问题的人。现在,当我思考这个问题时,我认为sbt和其他构建工具会检查所有定义的存储库,以获得依赖项的最新版本,当他们咨询所有存储库时,sbt和其他工具会决定要删除哪个版本。我怎么会认为应该是别的?!