从cygwin运行Play - 只有play.bat可以运行吗?

时间:2011-09-14 17:08:05

标签: bash cygwin playframework

我正在尝试从cygwin中运行Play,当我运行play dependencies时,我收到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: play/deps/DependenciesManager
Caused by: java.lang.ClassNotFoundException: play.deps.DependenciesManager...
然而,

play.bat dependencies成功了。 即使我将/usr/local/bin/play符号链接到.../play.bat,我也会遇到同样的错误。

这里发生了什么?

1 个答案:

答案 0 :(得分:1)

play.bat的内容表明它调用播放脚本的适当位置作为第一个参数。

play.bat内容(批量):

@echo off
"%~dp0python\python.exe" "%~dp0play" %*

然后python脚本获取第一个参数(/ relative / path / to / play)并将其用作其根文件夹来执行所有python脚本。

播放内容(python):

...
sys.path.append(os.path.join(os.path.dirname(os.path.realpath(sys.argv[0])), 'framework', 'pym'))
...

通过直接调用play,您的python脚本将在当前目录中执行。