gpt4 book ai didi

scala - 如何不让 Gradle 立即退出 Scala 的 REPL?

转载 作者:行者123 更新时间:2023-12-01 13:46:32 27 4
gpt4 key购买 nike

build.gradle 中的这些简单行公开了一个 repl 任务,理想情况下可以启动 scala REPL。开火并保持活力。 repl 加载后,它立即收到 :quit 命令并退出。

build.gradle的重要部分:

dependencies{
compile "org.scala-lang:scala-library:2.11.7"
compile "org.scala-lang:scala-compiler:2.11.7"
}

task repl(type:JavaExec) {
main = "scala.tools.nsc.MainGenericRunner"
classpath = sourceSets.main.runtimeClasspath
}

启动 REPL:

% gradle repl
:compileJava UP-TO-DATE
:compileScala UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:repl
Welcome to Scala version 2.11.7 (OpenJDK Server VM, Java 1.7.0_91).
Type in expressions to have them evaluated.
Type :help for more information.

scala> :quit

BUILD SUCCESSFUL

Total time: 31.177 secs

REPL 启动后立即自动退出。如何不让 REPL 立即退出?

最佳答案

您还需要将控制台输入重定向到您的 javaexec java 进程。尝试将 standardInput System.in 添加到您的任务定义中。就我而言,我还发现有必要添加 args '-userjavacp'

task repl(type:JavaExec) {
main = "scala.tools.nsc.MainGenericRunner"
classpath = sourceSets.main.runtimeClasspath
standardInput System.in
args '-usejavacp'
}

最后使用 -q 选项运行 gradle 会抑制 gradle 进度提示,给我一个更清晰的 scala repl。

关于scala - 如何不让 Gradle 立即退出 Scala 的 REPL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35614412/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com