2016-12-02 10 views
0

対話モードでsbtでコマンドを実行することはできませんが、コマンドラインで同じコマンドを使用すると動作します。 Babun CygwinのWindows 7でJava 1.8.0_102-b14を使用してsbt 0.13.13を実行しています。 他のsbt問題のトラブルシューティングを行うために、最小のScalaプロジェクトを作成しました。 sbtは私のプロジェクトをコンパイルすることができ、インタラクティブモードに入ることができます。なぜですか/どうすればこの問題を解決できますか?sbt対話モードコマンドがBabunの下で完了しない

{ 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

実は、これはおそらくCygwinの/ BabunとWindowsとの相互作用を行うことが多くを持っています。私は対話的にPythonを実行することはできませんが、私は "Python SomeScript.py"を実行することができます – radumanolescu

+0

はい。これは、あなたが入力したもの( 'projects')が' sbt'に送られなかったようです。なぜなら、 'zsh'は' sbt'が殺された後に気付きました。これは恐らく 'sbt'よりも高いレベルのエラーでしょう。 – jkinkead

答えて

0

これはおそらく、コンソールJavaアプリケーション(sbt)がシェルとどのようにやり取りするかに関係しています。 は私が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 "[email protected]" 

私はまだPythonのためのソリューションを見つけていません。

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

Babun breaks on winows apps with console input

関連する問題