Dom*_*kis 11 scala classpath gradle read-eval-print-loop
目前,Gradle的scala集成不提供REPL功能.如何使用适当的类路径从Gradle以符合人体工程学的方式运行Scala REPL?
Dom*_*kis 13
最小的build.gradle:
apply plugin: 'scala'
repositories{
mavenCentral()
}
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
standardInput System.in
args '-usejavacp'
}
Run Code Online (Sandbox Code Playgroud)
感谢这个答案解释如何使用standardInput标准输入直接和有REPL使用正确的类路径ARGS.
请注意,scala-compiler库是一个依赖项.那scala.tools.nsc.MainGenericRunner是找到的地方.
从控制台运行REPL需要许多选项:
--no-daemon,如果您使用的是Gradle守护程序.目前,如果从守护进程运行,REPL不会响应击键.
--console plain.一种流行但劣等的选择是--quiet.如果在没有这些选项的情况下运行,则REPL的提示会被Gradle的进度报告污染.--console plain具有的优点是它还可以调整readline的行为,因此这rlwrap是不必要的.
运行REPL的完整命令是gradle repl --console plain --no-daemon,因此在shell中创建别名是有意义的.
| 归档时间: |
|
| 查看次数: |
1827 次 |
| 最近记录: |