Play 2.1.0 (Scala) フレームワーク アプリケーションがあり、Salat を使用してケース クラス オブジェクトを MongoDBObjects に変換しようとしています。Play コンソールを起動し、ケース クラスの 1 つをインスタンス化し、salat._ と salat.global._ をインポートすると、ケース クラスから MongoDBObject に変換できます。
プレイ中の「実行」モードで、同じコードを実行してケース クラスから MongoDBObject に変換するアクターを呼び出すページを呼び出すと、エラーが発生します (data.Field はケース クラスの完全な名前です)。 :
com.novus.salat.util.GraterGlitch:
GRATER GLITCH - unable to find or instantiate a grater using supplied path
名前
REASON: Very strange! Path='data.Field' from pickled ScalaSig causes Clas
sNotFoundException
Context: 'global'
Path from pickled Scala sig: 'data.Field'
ここで別の質問に答えて、プロジェクトの依存関係に scala-compiler を追加しましたが、役に立ちませんでした。
私を悩ませているのは、これが手動でインスタンス化するコンソールではうまく機能するが、フルプレイアプリを実行すると失敗することです。
ここで何か助けていただければ幸いです。
編集: scala コンパイラを依存関係に追加し、「play start」を使用すると正常に動作します。「play run」を使用すると、上記のエラーを使用して惨めに失敗します。理由についての洞察は役に立ちます。