我正在使用ammonite (http://ammonite.io/)来编写Scala脚本。它允许您通过这种文本获取远程依赖项:
import $ivy.`org.scalaz::scalaz-core:7.2.7`, scalaz._, Scalaz._但是,如何使用本地maven repo (位于~/.m2中)呢?
发布于 2020-03-10 20:47:40
它在1.7.1版本中发生了变化,正确的方法是这样做:
import coursierapi.MavenRepository
interp.repositories.update(
interp.repositories() ::: List(MavenRepository.of("https://some_repo"))
)如果要链接本地存储库,可以使用file://path_to_local_rep替换https://some_repo
感谢github上的@danslapman这是参考讨论https://github.com/lihaoyi/Ammonite/issues/1003
发布于 2018-09-04 01:12:05
非常感谢https://gitter.im/lihaoyi/Ammonite上的@sake92
#!/usr/bin/env amm
interp.repositories() ++= Seq(coursier.Cache.Dangerous.maven2Local)
@
import $ivy.`com.foo:artifact:1.3.0`@强制脚本分成两部分进行编译。如果没有它,额外的repo将被忽略。
发布于 2018-09-03 21:40:24
a following PR的an issue some time ago得出的结论是,本地Maven存储库经常包含损坏的内容,因此默认情况下它不在那里。
然而,后来添加了自己的解析器功能,可能类似于:
import coursier.MavenRepository
interp.repositories() ++= Seq(MavenRepository(
"~/.m2/local"
))应该行得通。
https://stackoverflow.com/questions/52149761
复制相似问题