【问题标题】:Sorm and Play Framework 2.1排序和播放框架 2.1
【发布时间】:2012-12-10 23:40:50
【问题描述】:

我正在尝试将 Sorm 用于游戏框架项目。我正在使用使用 Scala 2.10 的 2.1 版本。 问题是我的课程没有被 Sorm 识别,我得到了一个ClassNotFoundException

这是我使用的:

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]

知道我怎样才能完成这项工作吗?

【问题讨论】:

  • 好的。我对 Play 2.1-RC1 进行了一些研究。 Play 的自动重新编译和 SORM 对反射的依赖之间似乎存在冲突。我不是 Play 方面的专家,但我确信一定有办法解决这个问题。我们将尝试在即将发布的版本中解决该问题,但就目前而言,考虑到 Play + SORM 不兼容的官方状态令人遗憾。但是,如果有人找到解决方法,将不胜感激。
  • 感谢您的调查。我会关注你的下一个版本;)

标签: playframework-2.1 sorm


【解决方案1】:

这是一个incompatibility issue,现在自发布0.3.7 以来已修复。干杯!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 2023-03-20
    • 1970-01-01
    • 2011-09-30
    • 2011-08-16
    • 2011-12-15
    相关资源
    最近更新 更多