在Babun下没有完成sbt交互模式命令

时间:2016-12-02 16:43:16

标签: windows scala sbt interactive babun

我无法在交互模式下在sbt中运行任何命令,而在命令行中使用相同的命令。 我在Babun Cygwin的Windows 7上使用Java 1.8.0_102-b14运行sbt 0.13.13。 我创建了一个最小的Scala项目,以解决其他sbt问题。 sbt可以编译我的项目并可以进入交互模式,但随后它会被任何命令卡住。为什么/我该怎么解决这个问题呢?

{ sbtXmpl }  > ./sbt projects
+ java -jar ./build/buildcommon/sbt-launch.jar projects
[info] Loading global plugins from C:\Users\MyName\.sbt\0.13\plugins
[info] Loading project definition from C:\dev\sbtXmpl\project
[info] Set current project to root (in build file:/C:/dev/sbtXmpl/)
[info] In file:/C:/dev/sbtXmpl/
[info]     core
[info]   * root
[info]     util
{ sbtXmpl }  > ./sbt
+ java -jar ./build/buildcommon/sbt-launch.jar
[info] Loading global plugins from C:\Users\MyName\.sbt\0.13\plugins
[info] Loading project definition from C:\dev\sbtXmpl\project
[info] Set current project to root (in build file:/C:/dev/sbtXmpl/)
> projects
// This never returns
^C
zsh: command not found: projects

1 个答案:

答案 0 :(得分:0)

这可能与控制台Java应用程序(sbt)如何与shell交互有关。 我能够通过在我用来运行sbt的脚本中添加下面的片段来解决sbt的问题:

if [ "$(expr substr $(uname -s) 1 6)" == "CYGWIN" ];then
    #Ensure that sbt uses the correct terminal settings
    CYG_OPTS="-Djline.terminal=jline.UnixTerminal -Dsbt.cygwin=true"
    #Prevent erase, kill, werase, and rprnt special characters 
    stty -icanon min 1 -echo > /dev/null 2>&1
fi

#launch sbt
java $CYG_OPTS $JAVA_OPTS -jar $SBT_LAUNCHER "$@"

我还没有找到Python的解决方案。

REPL programs (sbt, python) do not complete under Babun

Babun breaks on winows apps with console input