这是我的第一篇文章,所以请保持温柔。我正在学习一些使用游戏的教程。我在2.4版本,但教程使用的是早期版本。我按照游戏网站上的指南来整合ebeansin 2.4。
My build.sbt
name := """please-work"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayJava, PlayEbean)
scalaVersion := "2.11.6"
libraryDependencies ++= Seq(
javaJdbc,
cache,
javaWs,
"org.avaje.ebeanorm" % "avaje-ebeanorm" % "6.8.1"
)
// Play provides two styles of routers, one expects its actions to be injected, the
// other, legacy style, accesses its actions statically.
routesGenerator := InjectedRoutesGenerator
我的application.conf
db.default.driver = org.h2.Driver
db.default.url="jdbc:h2:mem:play"
# db.default.username=sa
# db.default.password=""
ebean.default = ["models.*"]
我的plugin.sbt
// Play Ebean support, to enable, uncomment this line, and enable in your build.sbt using
// enablePlugins(SbtEbean). Note, uncommenting this line will automatically bring in
// Play enhancer, regardless of whether the line above is commented out or not.
addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "1.0.0")
这是使用库
的代码package model;
import com.avaje.ebean.Model;
import javax.persistence.Entity;
import javax.persistence.Id;
/**
* Created by craig.ledgerwood on 18/09/2015.
*/
@Entity
public class Person extends Model {
@Id
public String id;
public String name;
}
最令人恼火的是,即使我没有改变任何事情,我的错误也在不断变化。最初是com.avaje.ebean.Model不可用。但现在我得到了
NoClassDefFoundError: com/avaje/ebeaninternal/server/ddl/DdlGenerator
请有人指出我正确的方向。我希望将来继续使用postgres数据库,但我希望在继续前进之前先了解基础知识,这些小绊脚石会让人感到沮丧,因为我确信它非常简单。
此致
克雷格
答案 0 :(得分:1)
在 build.sbt
中删除以下依赖项"org.avaje.ebeanorm" % "avaje-ebeanorm" % "6.8.1"
在你的 plugins.sbt 中,更新sbt-play-ebean
addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "2.0.0")
我在Play 2.4.6中解决了同样的问题,请参阅
答案 1 :(得分:0)
Ebean 6.8.1与当前的play-ebean工件之间存在不兼容性。