【问题标题】:Play 2.4 com.avaje.ebean.Model玩 2.4 com.avaje.ebean.Model
【发布时间】:2015-09-21 15:00:18
【问题描述】:

这是我的第一篇文章,所以请温柔。我正在学习一些使用游戏的教程。我使用的是 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

我的应用程序.conf

db.default.driver=org.h2.Driver

 db.default.url="jdbc:h2:mem:play"
# db.default.username=sa
# db.default.password=""
 ebean.default = ["models.*"]

我的插件.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 数据库,但我想在继续之前先了解基础知识,这些小绊脚石越来越令人沮丧,因为我确信它非常简单。

问候

克雷格

【问题讨论】:

  • 其实是一个很简单的问题,我的包名和application.conf中的ebean.default不一致。

标签: playframework ebean


【解决方案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 中解决了同样的问题,请参考

【讨论】:

  • 顺便说一句,com.avaje.ebeaninternal.server.ddl.DdlGenerator 已移至 com.avaje.ebean.dbmigration.DdlGenerator跨度>
【解决方案2】:

Ebean 6.8.1 与当前的 play-ebean 工件不兼容。

参考https://github.com/playframework/play-ebean/issues/53

... 和:https://github.com/playframework/play-ebean/pull/56

【讨论】:

    猜你喜欢
    • 2023-04-05
    • 2015-10-02
    • 2015-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-02
    • 2015-09-13
    • 1970-01-01
    相关资源
    最近更新 更多