2012-05-04 26 views
8

我無法使用play!來自MSYShell的框架(在Windows上使用Git)。如何玩!在MSYS bash中運行的框架

Error during sbt execution: Could not find configuration file 
'c:/Dev/Prg/Play/framework/sbt/play.boot.properties'. Searched: 
     file:/C:/Users/Paul/ 
     file:/C:/Users/Paul/ 
     file:/C:/Dev/Prg/Play/framework/sbt/ 

有沒有辦法讓這個運行?

+1

+1。剛剛遇到同樣的問題。猜猜我現在只需在常規命令提示符下運行它。 –

回答

10

此問題的解決方案已張貼在Play mailing list上:有a patch可解決此問題。

diff -r --unified play-2.0-orig/framework/build play-2.0-cygwin/framework/build 
--- play-2.0-orig/framework/build 2012-03-12 20:25:28.000000000 -0700 
+++ play-2.0-cygwin/framework/build 2012-06-15 17:56:57.436000000 -0700 
@@ -8,4 +8,4 @@ 
    DEBUG_PARAM="-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=${JPDA_PORT}" 
fi 

-java ${DEBUG_PARAM} -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M -Dfile.encoding=UTF8 -Dplay.version="${PLAY_VERSION}" -Dsbt.ivy.home=`dirname $0`/../repository -Dplay.home=`dirname $0` -Dsbt.boot.properties=`dirname $0`/sbt/sbt.boot.properties -jar `dirname $0`/sbt/sbt-launch.jar "[email protected]" 
\ No newline at end of file 
+java ${DEBUG_PARAM} -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M -Dfile.encoding=UTF8 -Dplay.version="${PLAY_VERSION}" -Dsbt.ivy.home=`dirname $0`/../repository -Dplay.home=`dirname $0` -Dsbt.boot.properties=$BOOTPROP`dirname $0`/sbt/sbt.boot.properties -jar `dirname $0`/sbt/sbt-launch.jar "[email protected]" 
diff -r --unified play-2.0-orig/play play-2.0-cygwin/play 
--- play-2.0-orig/play 2012-03-12 20:22:03.000000000 -0700 
+++ play-2.0-cygwin/play 2012-06-15 20:48:41.624800000 -0700 
@@ -1,5 +1,23 @@ 
#! /usr/bin/env sh 

+case `uname` in 
+ CYGWIN*) 
+ function dirname { 
+  cygpath -m `command dirname [email protected]` 
+ } 
+ typeset -fx dirname 
+ export BOOTPROP="file:///" 
+ ;; 
+ MINGW32*) 
+ function dirname { (cd `command dirname [email protected]`; pwd -W) } 
+ typeset -fx dirname 
+ export BOOTPROP="file:///" 
+ ;; 
+ *) 
+ export BOOTPROP="" 
+ ;; 
+esac 
+ 
PRG="$0" 
while [ -h "$PRG" ] ; do 
    PRG=`readlink "$PRG"` 
@@ -54,5 +72,5 @@ 
    fi 

else 
- java -Dsbt.ivy.home=$dir/repository -Dplay.home=$dir/framework -Dsbt.boot.properties=$dir/framework/sbt/play.boot.properties -jar $dir/framework/sbt/sbt-launch.jar "[email protected]" 
+ java -Dsbt.ivy.home=$dir/repository -Dplay.home=$dir/framework -Dsbt.boot.properties=$BOOTPROP$dir/framework/sbt/play.boot.properties -jar $dir/framework/sbt/sbt-launch.jar "[email protected]" 
fi 
4

A solution for play-2.1.3。

  1. 開始的mingw32
  2. CD /path/to/play-2.1.3
  3. 補丁-p1 < /path/to/play_cygwin.patch

拷貝補丁:

diff -r --unified play-2.1.3/framework/build play-2.1.3-cygwin/framework/build 
--- play-2.1.3/framework/build 2013-08-06 12:29:56 +0000 
+++ play-2.1.3-cygwin/framework/build 2013-09-04 13:44:05 +0000 
@@ -10,4 +10,4 @@ 
    DEBUG_PARAM="-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=${JPDA_PORT}" 
fi 

-java ${DEBUG_PARAM} -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M ${JAVA_OPTS} -Dfile.encoding=UTF-8 -Dplay.version="${PLAY_VERSION}" -Dsbt.ivy.home=`dirname $0`/../repository -Dplay.home=`dirname $0` -Dsbt.boot.properties=`dirname $0`/sbt/sbt.boot.properties -jar `dirname $0`/sbt/sbt-launch.jar "[email protected]" 
+java ${DEBUG_PARAM} -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M ${JAVA_OPTS} -Dfile.encoding=UTF-8 -Dplay.version="${PLAY_VERSION}" -Dsbt.ivy.home=`dirname $0`/../repository -Dplay.home=`dirname $0` -Dsbt.boot.properties=$BOOTPROP`dirname $0`/sbt/sbt.boot.properties -jar `dirname $0`/sbt/sbt-launch.jar "[email protected]" 
diff -r --unified play-2.1.3/play play-2.1.3-cygwin/play 
--- play-2.1.3/play 2013-09-04 02:44:05 +0000 
+++ play-2.1.3-cygwin/play 2013-09-04 13:51:36 +0000 
@@ -1,5 +1,23 @@ 
#! /usr/bin/env sh 

+case `uname` in 
+ CYGWIN*) 
+ function dirname { 
+  cygpath -m `command dirname [email protected]` 
+ } 
+ typeset -fx dirname 
+ export BOOTPROP="file:///" 
+ ;; 
+ MINGW32*) 
+ function dirname { (cd `command dirname [email protected]`; pwd -W) } 
+ typeset -fx dirname 
+ export BOOTPROP="file:///" 
+ ;; 
+ *) 
+ export BOOTPROP="" 
+ ;; 
+esac 
+ 
PRG="$0" 
while [ -h "$PRG" ] ; do 
    PRG=`readlink "$PRG"` 
@@ -61,5 +79,5 @@ 
    fi 

else 
- "$JAVA" -Dsbt.ivy.home=$dir/repository -Dplay.home=$dir/framework -Dsbt.boot.properties=$dir/framework/sbt/play.boot.properties -jar $dir/framework/sbt/sbt-launch.jar "[email protected]" 
+ "$JAVA" -Dsbt.ivy.home=$dir/repository -Dplay.home=$dir/framework -Dsbt.boot.properties=$BOOTPROP$dir/framework/sbt/play.boot.properties -jar $dir/framework/sbt/sbt-launch.jar "[email protected]" 
fi 
3

我面臨同樣的問題。 在我的情況下,問題發生是因爲在目錄名稱中有空間。我改名爲我的文件夾中包含空間的名稱和我的問題已解決。