我正在使用Mac OS X 10.9.4上的Play Framework 1.2.3离线安装尝试Typesafe Activator 2.3.2。
在我解压缩的activator-1.2.3
文件夹中,有一个repository
文件夹看起来类似于我的~/.ivy2/cache
文件夹,因为它包含...库的文件夹?捆绑?我不懂术语。
现在,就我的理解而言,Activator使用SBT和SBT使用Ivy进行依赖关系管理。 Ivy是类似 Maven,它甚至使用它的存储库。
我的问题是这些:
activator-1.2.3/repository
文件夹是否类似于引导程序,所有其他依赖项都转到~/.ivy2
? ~/.m2
文件夹怎么办?所以你看到我完全迷失了。任何见解都非常受欢迎。
答案 0 :(得分:7)
由于2.3.x Play is distributed as an Activator distribution that contains all Play’s dependencies遵循sbt的规则,即本地构建的依赖项/库转到~/.ivy2/local
,而下载的依赖项/库的缓存在~/.ivy2/cache
下。
稍后在What’s new in Play 2.3文档中:
默认常春藤缓存和本地存储库
现在播放使用默认常春藤 缓存和存储库,位于用户主目录的.ivy2文件夹中。
这意味着Play现在可以更好地与其他sbt版本集成,而不是 要求工件多次缓存,并允许 共享本地出版的文物。
当您update
(以及compile
或run
)Play 2.3.x项目时,依赖关系会转到~/.ivy2/cache
。
activator-1.2.3/repository
下的内容显示为本地Ivy2存储库,以加快解决从联机存储库下载的依赖关系。
~/.m2
下的依赖关系必须按照Library dependencies和Resolvers中sbt官方文档中的说明明确添加。
您可能会发现fullResolvers
任务对了解可用的解析器/存储库很有用。
[jacoco4sbt-play] $ help fullResolvers
Combines the project resolver, default resolvers, and user-defined resolvers.
[jacoco4sbt-play] $ show fullResolvers
[info] ArrayBuffer(Raw(ProjectResolver(inter-project, mapped: )), FileRepository(local,FileConfiguration(true,None),Patterns(ivyPatterns=List(${ivy.home}/local/[organisation]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]), artifactPatterns=List(${ivy.home}/local/[organisation]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]), isMavenCompatible=false, descriptorOptional=false, skipConsistencyCheck=false)), public: http://repo1.maven.org/maven2/, Typesafe Releases Repository: http://repo.typesafe.com/typesafe/releases/)
[success] Total time: 0 s, completed Sep 23, 2014 11:02:19 PM