2011-09-14 3 views
0

私はcygwinの内からPlayを実行しようとしている、と私はplay dependenciesを実行したときに、私は次のエラーを取得する:cygwinからの再生 - play.batだけが実行可能ですか?

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

play.batの内容は、最初の引数として再生スクリプトの適切な場所でplayを呼び出すことを示唆しています。

play.batコンテンツ(バッチ):

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

そして、Pythonスクリプトは、最初の引数(/相対/パス/に/プレイ)を取り、すべてを実行するために、そのルートフォルダとして使用しますPythonスクリプト

プレイ内容(パイソン):

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

直接あなたのPythonスクリプトをplayを呼び出すことでは、現在のディレクトリで実行します。

+0

パスが壊れていたと思っていましたが、バッチマジックが起こっていることを理解できませんでした。 –