2012-12-24 10 views
5

私はSormをプレイフレームワークプロジェクトに使用しようとしています。私はScala 2.10を使用する2.1バージョンを使用しています。 問題は、私のクラスはSORMによって認識されていないということですが、私はここでClassNotFoundExceptionSorm and Play Framework 2.1

を取得し、私が使用したものである:

私のコントローラで
package models 

case class User(val name: String) 

object Db extends Instance (
    entities = Set(Entity[User]()), 
    url = "jdbc:h2:mem:test" 
) 

import models.{Db,User} 

object Application extends Controller { 
    def index = Action { 
    Db.save(User("test")) // Error at this line 
    Ok("saved") 
    } 
} 

と例外:

play.api.Application$$anon$1: Execution exception[[ClassNotFoundException: models.User]] 
    at play.api.Application$class.handleError(Application.scala:279) ~[play_2.10.jar:2.1-RC1] 
    at play.api.DefaultApplication.handleError(Application.scala:373) [play_2.10.jar:2.1-RC1] 
    at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$10$$anonfun$apply$27.apply(PlayDefaultUpstreamHandler.scala:296) [play_2.10.jar:2.1-RC1] 
    at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$10$$anonfun$apply$27.apply(PlayDefaultUpstreamHandler.scala:294) [play_2.10.jar:2.1-RC1] 
    at play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:110) [play_2.10.jar:2.1-RC1] 
    at play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:110) [play_2.10.jar:2.1-RC1] 
Caused by: java.lang.ClassNotFoundException: models.User 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~[na:1.7.0_09] 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_09] 
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_09] 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_09] 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423) ~[na:1.7.0_09] 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ~[na:1.7.0_09] 

どのように私はこの作品を作ることができますか?

+2

いいえ。私はPlay 2.1-RC1で少し掘り下げました。 Playの自動再コンパイルとSORMのリフレクションへの依存性には矛盾があるようです。私はPlayの専門家ではありませんが、これを回避する方法があるはずです。今回のリリースではこの問題に取り組もうとしていますが、Play + SORMの正式なステータスは互換性がないと考えています。しかし、誰かが回避策を見つけたら、それを投稿することは大いに感謝されます。 –

+0

それを調べてくれてありがとう。私はあなたの次のリリースを見守ります;) – vdebergue

答えて