首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >播放2.5.3/Ebean: NoSuchMethodError: NoSuchMethodError:

播放2.5.3/Ebean: NoSuchMethodError: NoSuchMethodError:
EN

Stack Overflow用户
提问于 2016-06-16 00:24:12
回答 1查看 405关注 0票数 0

我使用的是Play 2.5.3框架,不管出于什么原因,Ebean在为本地(内存中)数据库创建演化时似乎失败了。这是完整的堆栈跟踪。

代码语言:javascript
复制
[info] play.api.UnexpectedException: Unexpected exception[NoSuchMethodError: com.avaje.ebean.config.ServerConfig.getConstraintNaming()Lcom/avaje/ebean/config/DbConstraintNaming;]
[info]  at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:174)
[info]  at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:126)
[info]  at scala.Option.map(Option.scala:146)
[info]  at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1.apply(DevServerStart.scala:126)
[info]  at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1.apply(DevServerStart.scala:124)
[info]  at scala.util.Success.flatMap(Try.scala:231)
[info]  at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1.apply(DevServerStart.scala:124)
[info]  at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1.apply(DevServerStart.scala:116)
[info]  at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
[info]  at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
[info] Caused by: java.lang.NoSuchMethodError: com.avaje.ebean.config.ServerConfig.getConstraintNaming()Lcom/avaje/ebean/config/DbConstraintNaming;
[info]  at com.avaje.ebean.dbmigration.model.CurrentModel.<init>(CurrentModel.java:37)
[info]  at play.db.ebean.EbeanDynamicEvolutions.generateEvolutionScript(EbeanDynamicEvolutions.java:91)
[info]  at play.db.ebean.EbeanDynamicEvolutions.lambda$create$4(EbeanDynamicEvolutions.java:59)
[info]  at play.db.ebean.EbeanDynamicEvolutions$$Lambda$33/1642038057.accept(Unknown Source)
[info]  at java.util.HashMap.forEach(HashMap.java:1280)
[info]  at play.db.ebean.EbeanDynamicEvolutions.create(EbeanDynamicEvolutions.java:58)
[info]  at play.api.db.evolutions.ApplicationEvolutions.start(ApplicationEvolutions.scala:40)
[info]  at play.api.db.evolutions.ApplicationEvolutions.<init>(ApplicationEvolutions.scala:150)
[info]  at play.api.db.evolutions.ApplicationEvolutionsProvider.get$lzycompute(EvolutionsModule.scala:53)
[info]  at play.api.db.evolutions.ApplicationEvolutionsProvider.get(EvolutionsModule.scala:53)

在谷歌上搜索这个异常让我几乎没有任何信息。

在我的"application.conf“文件中

代码语言:javascript
复制
ebean.default = ["models.*"]

    db {
      # You can declare as many datasources as you want.
      # By convention, the default datasource is named `default`

      # https://www.playframework.com/documentation/latest/Developing-with-the-H2-Database
      default.driver = org.h2.Driver
      default.url = "jdbc:h2:mem:play"
      default.username = sa
      default.password = ""

      # You can turn on SQL logging for any datasource
      # https://www.playframework.com/documentation/latest/Highlights25#Logging-SQL-statements
      #default.logSql=true
    }

这似乎是其他人所用的。我的ebean.properties文件,我认为这也可能是问题所在,只是包含了

代码语言:javascript
复制
ebean.namingconvention=com.avaje.ebean.config.MatchingNamingConvention

我的build.sbt文件如下所示:

代码语言:javascript
复制
name := """Project-CS2340"""

version := "1.0-SNAPSHOT"

lazy val root = (project in file(".")).enablePlugins(PlayJava, PlayEbean)

resolvers ++= Seq(
  "webjars"    at "http://webjars.github.com/m2"
)

scalaVersion := "2.11.7"

libraryDependencies ++= Seq(
  javaJdbc,
  cache,
  javaWs,
  "org.webjars"               %% "webjars-play"       % "2.3.0",
  "org.webjars"               % "bootstrap"           % "3.0.0" exclude("org.webjars", "jquery"),
  "org.webjars"               % "jquery"              % "1.8.3",
  "org.avaje.ebeanorm" % "avaje-ebeanorm" % "4.6.2"
)

playEbeanDebugLevel := 4

fork in run := true

今天早些时候,应用程序没有出错,我想我在休息时更改了一些东西并忘记了它。不知道,说实话。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-16 06:21:31

替换ebean文件中的build.sbt库依赖项

代码语言:javascript
复制
"org.avaje.ebeanorm" % "avaje-ebeanorm" % "4.6.2"

使用以下内容

代码语言:javascript
复制
"org.avaje" % "ebean" % "2.7.3"

祝你好运

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37847919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档