以下是在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立即退出?
-q
选项,gradle的提示会干扰REPL的提示。然而,我发现--console plain
选项更适合:它像-q
一样解放了repl,并使readline表现更好。如果没有--console plain
,我必须使用rlwrap才能使退格和历史记录正常工作。我已经发布了另一个问题,并将在那里尝试概述这些事情。 - Dominykas Mostauskis