【问题标题】:How to make Intellij resolve package from private maven repository in ammonite script?如何让 Intellij 在 ammonite 脚本中解析私有 maven 存储库中的包?
【发布时间】:2019-02-12 01:29:55
【问题描述】:

在我的情况下,唯一的事情是如何让 intellij 在我的私有 maven 存储库中找到包。 intellij 看起来不会咨询~/.ammonite/predef.sc

【问题讨论】:

  • 您好,不知道您是否找到了解决 intellij 问题的方法?我有同样的问题。如果库来自私人仓库,intellij 无法从 Ammonite 脚本自动添加它。
  • 我怀疑它会使用~/.m2/settings.xmlmaven.apache.org/settings.html,但我还没有尝试过。
  • 你能解释清楚吗?我可以试试,那里需要改什么?
  • 忽略~/.m2/settings.xml的评论,问题真的与它无关。 get-coursier.io/docs/other-repositories

标签: scala intellij-idea ammonite


【解决方案1】:

这是点击运行脚本后的事件消息提示。

导入在 test.sc 中声明的所有 $ivy 依赖项(存在于本地缓存中)

所以问题是这个local caches是什么,原来是快递缓存~/.coursier/v1/https/repo1.maven.org/maven2/,如果那里存在包,那么当您单击事件消息中的蓝色导入链接时,它可以解决它。我现在不太优雅的解决方案是将我的本地缓存同步到这个存储库。

下一个问题是如何添加我还没有太多想法的多个存储库。 (事件来自Scala Library Extension,不确定是否可配置)

【讨论】:

  • get-coursier.io/docs/other-repositories,似乎没有直接的方法(编辑配置文件)来添加新的存储库...
  • 感谢您的回答。听起来像是要向 IntelliJ 人解释一下
  • 顺便说一句,您提到:“我现在不太优雅的解决方案是将我的本地缓存同步到此存储库。” ??你是什​​么意思什么是存储库与本地缓存。我不确定是否会遵循。我最初的理解是,您想告诉 intellij 从 coursier 缓存中获取数据,但它不知道如何获取?因为 intellij 知道的默认 Ammnonite 缓存不是更快捷的。或者也许我对正在发生的事情感到迷茫:) 抱歉
  • 我的意思是将所有本地缓存​​同步到~/.coursier/v1/https/repo1.maven.org/maven2/。即将库 jar 移动到该目录,并遵循 group/package/version/lib.jar 目录结构,例如com/example/functional/CI-200/functional-CI-200.jar。基本上欺骗intellij认为我们在那里有图书馆的本地缓存。
  • 那么本地缓存目录是什么?
猜你喜欢
  • 2010-11-07
  • 1970-01-01
  • 2019-12-07
  • 2012-05-27
  • 2021-09-13
  • 1970-01-01
  • 2011-01-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多