怎么玩!在 MSYS bash 中运行的框架
Posted
技术标签:
【中文标题】怎么玩!在 MSYS bash 中运行的框架【英文标题】:How to get play! framework running in MSYS bash 【发布时间】:2012-05-04 20:14:01 【问题描述】:我不能玩!来自 MSYS shell 的框架(在 Windows 上的 Git 中使用)。
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】: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 "$@"
\ 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 "$@"
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 $@`
+
+ typeset -fx dirname
+ export BOOTPROP="file:///"
+ ;;
+ MINGW32*)
+ function dirname (cd `command dirname $@`; 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 "$@"
+ 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 "$@"
fi
【讨论】:
【参考方案2】:solution 用于 play-2.1.3。
-
启动mingw32
cd /path/to/play-2.1.3
补丁-p1 /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 "$@"
+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 "$@"
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 $@`
+
+ typeset -fx dirname
+ export BOOTPROP="file:///"
+ ;;
+ MINGW32*)
+ function dirname (cd `command dirname $@`; 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 "$@"
+ "$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 "$@"
fi
【讨论】:
【参考方案3】:我遇到了同样的问题。 在我的情况下,由于目录名称中有空格而发生了问题。我重命名了我的一个文件夹,它的名称中包含空格,我的问题得到了解决。
【讨论】:
以上是关于怎么玩!在 MSYS bash 中运行的框架的主要内容,如果未能解决你的问题,请参考以下文章