如何配置Typesafe Activator *先验*以使用现有的本地Maven存储库?

时间:2013-10-16 18:21:47

标签: maven sbt typesafe-activator

(未在Activator文档中找到)
看来,通过在文件build.sbt中添加以下条目(粗体),Activator也可以使用现有的本地Maven存储库:

解析器+ = Seq(     “本地Maven资源库”位于“file:// q:/ repositories / maven”,
    “Sonatype OSS Snapshots”位于“https://oss.sonatype.org/content/repositories/snapshots” )

我不确定它是否有效但无论如何,这种方法的问题是项目结构必须已经创建(因此创建了一个本地存储库并通过下载自动填充),因此我的问题是:是否可以分辨激活器之前它创建了应该使用一些本地Maven存储库的项目结构吗?

提前感谢任何提示。

1 个答案:

答案 0 :(得分:10)

Activator使用sbt-launcher。您可以使用sbt-launcher来控制sbt默认使用 为启动器本身的每个项目使用哪些存储库。

如果您想修改激活器启动器本身,请解压缩jar文件并查看包含的sbt/boot.properties文件。您可以使用sbt's launcher docs中列出的格式将本地maven存储库添加到列表中。

将来更简单的选项(但在我们当前的属性文件中未启用)是启动程序具有覆盖存储库配置文件的能力。见:Sbt's proxy configuration docs。此文件允许您指定希望激活器默认使用的存储库。我们禁用此选项以确保默认情况下添加激活器使用的脱机存储库。但是,我会打开一张票,重新启用此功能。这样,您应该能够创建一个包含以下内容的~/.sbt/repositories文件:

[repositories]
  activator-local: file://${activator.local.repository-${activator.home-${user.home}/.activator}/repository}, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
  local
  maven-local
  maven-central
  typesafe-releases: http://typesafe.artifactoryonline.com/typesafe/releases
  typesafe-ivy-releases: http://typesafe.artifactoryonline.com/typesafe/ivy-releases, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]

注意:~/.sbt/boot目录将始终存在。创建它是为了确保没有其他进程删除我们在运行时使用的jar文件,因此我们将这些文件复制出本地缓存。如果我们没有,您会看到一些非常有趣的错误消息。