问题标签 [ammonite]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
4887 浏览

scala - 如何让 IntelliJ 识别 Scala 脚本中的导入?

我无法让 IntelliJ 在我的 Scala 脚本中识别 Ammonite 导入。这是一项新功能,在此处报告,其中也有说明。我按照说明在 IntelliJ 中启动了一个新的 sbt 项目进行尝试,但它不起作用。

我在项目的“外部库”中看到了 Ammonite 依赖项,我在以下文件中指定了这些依赖项build.sbt libraryDependencies += "com.lihaoyi" %% "ammonite-ops" % "1.0.3" libraryDependencies += "com.lihaoyi" % "ammonite" % "1.0.3" cross CrossVersion.full

(非常简单的)项目似乎成功构建。我还指定应将 Scala 工作表文件视为“Always Ammonite”。

所有这一切,但 IDE 显示的脚本如下: 在此处输入图像描述

我还需要做什么才能使其正常工作?

版本:

  • Java 1.8.0
  • 斯卡拉 2.12.4
  • sbt 1.0.3
  • IntelliJ CE 2017.3.2
  • IntelliJ scala 插件 2017.3.11
0 投票
2 回答
17733 浏览

scala - 如何在可执行文件之前将 Java_opts 传递到 dockerfile 中的入口点?

我正在使用 ammonite 运行 scala 脚本。我需要通过 JAVA_OPTS 来限制 ammonite 消耗的内存。根据ammonite docs,我可以这样做
JAVA_OPTS='-Xmx<limit>' amm <scala script>

现在我想在一个 docker 容器中运行这个脚本,我正在这样做:

这运行良好并运行脚本。问题在于将 JAVA_OPTS 传递给 amm。
ENTRYPOINT 要求第一个参数是可执行文件,但我想在 amm 之前有 JAVA_OPTS。

如何做到这一点?

0 投票
1 回答
114 浏览

scala - 如何访问 Scala REPL 中的最后一个输出值?

在 Ruby、Python 和可能的其他一些 REPL 中,您可以使用 引用最后一个值_

如何在 Scala REPL 中做到这一点?我知道.REPL 的功能:

但这不符合我的要求。显然也没有_,或者我不会问:

我怎样才能做到这一点?Ammonite 的回答也很好,但很想在香草 REPL 中这样做。

0 投票
1 回答
189 浏览

java - 将读取 .ssh/config 的 scala 或 java 库

我的.ssh/config文件中有一个条目,如下所示:

主机 ip-172-16-*

正如大多数人所知,这将允许我运行: ssh ip-172-16-2-108.ec2.internal并且我作为 Ubuntu EC2 实例的默认用户 - ubuntu 进入私有服务器。我希望对创建采取一些具体行动。

最终我正在寻找的是与任何一个或直接来自相同scala-sshjassh功能jsch

我不是要求任何人推荐一个库,而是如何/是否支持此功能。使用jassh,我尝试使用代理选项,但没有成功。

最终我可以直接使用 ssh,但即使使用ammonite,如果使用%('ssh, Symbol("ip-172-16-2-108.ec2.internal"). 我认为这将使用基本 ssh,它会加载配置和匹配,就像裸 ssh 一样。我也可以设置我的配置不使用nc

这听起来确实像我在要求一个图书馆,所以如果它被关闭了,就这样吧,但我已经直接尝试了 4 并且没有,似乎完全支持.ssh/config

TIA,杰夫

0 投票
3 回答
1282 浏览

scala - 您如何将本地 maven repo 与 Ammonite 一起使用?

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

但是,您如何使用本地 maven 存储库(例如 ~/.m2)?

0 投票
1 回答
224 浏览

scala - 如何让 Intellij 在 ammonite 脚本中解析私有 maven 存储库中的包?

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

0 投票
1 回答
536 浏览

scala - 如何在 ammonite REPL/SHELL 中运行 Scala REPL 命令?

我的意思是命令喜欢:t :type检查表达式的类型或任何其他类型的命令。

ammonite 背后的想法真的很吸引我,现在我正试图用它来更熟悉 scala。

作为初学者,这些命令对我很有帮助,但在 amm shell 中是语法错误。

我浏览了 ammonite.io 的文档,但找不到任何相关内容。

是否可以在 ammonite shell/repl 中运行这些命令?

0 投票
2 回答
3040 浏览

scala - 在 Ammonite 中导入 $ivy

我需要在 Ammonite 脚本中导入sikulixapi 。我可以这样做。

因此,如果我从 Ammonite 的交互式控制台执行此操作:

但是jxgrabkey确实存在于 Maven 中。

这也失败了:

我没有使用任何 HTTP 代理。

其他版本的 sikulixapi 还有其他问题:

尝试使用 Ammonite 1.2.1、1.3.3 和 1.4.0。

0 投票
1 回答
135 浏览

scala - 从 Scala 启动的进程终止,但 Scala 永远等待它的终止

我以这种方式从 Ammonite 脚本启动一个进程:

启动的进程终止正常,但它不知道。通常它工作正常并且检测到进程终止正常。

使用jstack,我采用了调用堆栈:

它被锁定在这里:

更多细节:

  • 爪哇 8
  • 斯卡拉 2.12
  • CentOS 7

我怎样才能使这样一个简单而基本的任务更可靠?这是来自 scala.sys.Process 的错误吗?

0 投票
1 回答
152 浏览

scala - 无法从 Scala 脚本停止和 rm docker 容器

我正在尝试从 ammonite Scala 脚本中执行以下命令:

我总是得到以下输出:

我已经尝试了很多不同的变体,但没有任何运气,但它在控制台上运行良好。一些帮助将不胜感激。