(未在Activator文档中找到)
看来,通过在文件build.sbt中添加以下条目(粗体),Activator也可以使用现有的本地Maven存储库:
解析器+ = Seq(
“本地Maven资源库”位于“file:// q:/ repositories / maven”,
“Sonatype OSS Snapshots”位于“https://oss.sonatype.org/content/repositories/snapshots”
)
我不确定它是否有效但无论如何,这种方法的问题是项目结构必须已经创建(因此创建了一个本地存储库并通过下载自动填充),因此我的问题是:是否可以分辨激活器之前它创建了应该使用一些本地Maven存储库的项目结构吗?
提前感谢任何提示。
答案 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文件,因此我们将这些文件复制出本地缓存。如果我们没有,您会看到一些非常有趣的错误消息。