Java maven项目和sbt项目和play框架是否需要考虑共享一个存储库?

Java maven项目和sbt项目和play框架是否需要考虑共享一个存储库?,java,scala,maven,playframework,typesafe-activator,Java,Scala,Maven,Playframework,Typesafe Activator,我参与了一系列maven项目,一个scala项目和一个Play项目 使用默认配置时,每个存储库的默认存储库为: maven@/Users/Barry/.m2/repository sbt@/Users/Barry/.ivy2 activator@/Users/geek/Runtimes/activator-1.2.1/repository 为什么有这么多不同的存储库?当我使用所有3个构建工具时,我可以选择将所有库存储在一个存储库中吗 Play2.1也有缓存目录,这将导致混乱,因为我用相同的发

我参与了一系列maven项目,一个scala项目和一个Play项目

使用默认配置时,每个存储库的默认存储库为:

  • maven@/Users/Barry/.m2/repository
  • sbt@/Users/Barry/.ivy2
  • activator@/Users/geek/Runtimes/activator-1.2.1/repository
为什么有这么多不同的存储库?当我使用所有3个构建工具时,我可以选择将所有库存储在一个存储库中吗

Play2.1也有缓存目录,这将导致混乱,因为我用相同的发布版本重建maven项目,然后从maven项目编译具有相同依赖关系的Play项目

这个案子有什么好的做法吗


谢谢。

在这种情况下,您可以使用第四个远程存储库在它们之间共享工件:尽管每个构建工具都需要自己的本地“缓存”,但您将拥有所有这些工具的公共存储库,如果占用太多空间,您可以不时清除这些缓存


您可以使用Sonatype Nexus之类的工具创建远程存储库,或者只将本地或网络目录视为远程存储库(Maven也支持这种远程存储库,我认为是SBT)。

我使用SBT并将本地Maven存储库添加到SBT。是的,当然。我也这样做了,但仍然存在播放缓存问题,如何?使用
sbt
命令而不是
Play
。当play
2.3.0
发布时,没有
play
,我不想使用
activator
,所以我只使用
sbt
进行播放