2012-12-24 24 views
5

Tôi đang cố gắng sử dụng Sorm vào một dự án khung chơi. Tôi đang sử dụng phiên bản 2.1 sử dụng Scala 2.10. Vấn đề là lớp học của tôi không được công nhận bởi Sorm, tôi nhận được một ClassNotFoundExceptionSorm and Play Framework 2.1

Dưới đây là những gì tôi đã sử dụng:

package models 

case class User(val name: String) 

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

Trong điều khiển của tôi:

import models.{Db,User} 

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

Và ngoại trừ:

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] 

Bất kỳ ý tưởng nào về cách tôi có thể thực hiện công việc này?

+2

OK. Tôi đã đào bới xung quanh với Play 2.1-RC1 một chút. Dường như có xung đột giữa tính toán lại tự động của Play và sự phụ thuộc của SORM trên sự phản chiếu. Tôi không phải là chuyên gia về Play, nhưng tôi chắc chắn phải có cách để giải quyết vấn đề này. Chúng tôi sẽ cố gắng giải quyết vấn đề trong bản phát hành sắp tới, nhưng hiện tại thật đáng buồn vì nó được coi là trạng thái chính thức của Play + SORM không tương thích. Tuy nhiên, nếu ai đó tìm thấy một cách giải quyết khác, việc đăng tải nó sẽ được đánh giá cao. –

+0

Cảm ơn vì đã xem xét nó. Tôi sẽ theo dõi các bản phát hành tiếp theo của bạn;) – vdebergue

Trả lời

2

Đây là số incompatibility issue, hiện đã được khắc phục kể từ khi phát hành 0.3.7. Chúc mừng!

Các vấn đề liên quan