首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Ammonite中使用本地的maven存储库?

如何在Ammonite中使用本地的maven存储库?
EN

Stack Overflow用户
提问于 2018-09-03 20:24:21
回答 3查看 1.2K关注 0票数 2

我正在使用ammonite (http://ammonite.io/)来编写Scala脚本。它允许您通过这种文本获取远程依赖项:

代码语言:javascript
复制
import $ivy.`org.scalaz::scalaz-core:7.2.7`, scalaz._, Scalaz._

但是,如何使用本地maven repo (位于~/.m2中)呢?

EN

回答 3

Stack Overflow用户

发布于 2020-03-10 20:47:40

它在1.7.1版本中发生了变化,正确的方法是这样做:

代码语言:javascript
复制
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

票数 4
EN

Stack Overflow用户

发布于 2018-09-04 01:12:05

非常感谢https://gitter.im/lihaoyi/Ammonite上的@sake92

代码语言:javascript
复制
#!/usr/bin/env amm

interp.repositories() ++= Seq(coursier.Cache.Dangerous.maven2Local)

@

import $ivy.`com.foo:artifact:1.3.0`

@强制脚本分成两部分进行编译。如果没有它,额外的repo将被忽略。

票数 2
EN

Stack Overflow用户

发布于 2018-09-03 21:40:24

a following PRan issue some time ago得出的结论是,本地Maven存储库经常包含损坏的内容,因此默认情况下它不在那里。

然而,后来添加了自己的解析器功能,可能类似于:

代码语言:javascript
复制
import coursier.MavenRepository

interp.repositories() ++= Seq(MavenRepository(
  "~/.m2/local"
))

应该行得通。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52149761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档