我无法在交互模式下在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
答案 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的解决方案。