Play 2.5.3/Ebean: NoSuchMethodError: com.avaje.ebean.config.ServerConfig.getConstraintNaming()
Play 2.5.3/Ebean: NoSuchMethodError: com.avaje.ebean.config.ServerConfig.getConstraintNaming()
我正在使用 Play 2.5.3 框架,无论出于何种原因,Ebean 在为我的本地(内存中)数据库创建演进时似乎失败了。这是完整的堆栈跟踪。
[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$$anon$$anonfun$get$$anonfun$apply$$anonfun.apply(DevServerStart.scala:174)
[info] at play.core.server.DevServerStart$$anonfun$mainDev$$anon$$anonfun$get$$anonfun$apply$$anonfun.apply(DevServerStart.scala:126)
[info] at scala.Option.map(Option.scala:146)
[info] at play.core.server.DevServerStart$$anonfun$mainDev$$anon$$anonfun$get$$anonfun$apply.apply(DevServerStart.scala:126)
[info] at play.core.server.DevServerStart$$anonfun$mainDev$$anon$$anonfun$get$$anonfun$apply.apply(DevServerStart.scala:124)
[info] at scala.util.Success.flatMap(Try.scala:231)
[info] at play.core.server.DevServerStart$$anonfun$mainDev$$anon$$anonfun$get.apply(DevServerStart.scala:124)
[info] at play.core.server.DevServerStart$$anonfun$mainDev$$anon$$anonfun$get.apply(DevServerStart.scala:116)
[info] at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1(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(EbeanDynamicEvolutions.java:59)
[info] at play.db.ebean.EbeanDynamicEvolutions$$Lambda/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" 文件中,
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 文件只包含
ebean.namingconvention=com.avaje.ebean.config.MatchingNamingConvention
我的 build.sbt 文件如下所示:
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
今天早些时候,应用程序运行正常,我想我更改了一些东西,但在休息时忘记了它。老实说,不知道。
在你的build.sbt文件中替换ebean
的库依赖
"org.avaje.ebeanorm" % "avaje-ebeanorm" % "4.6.2"
与以下
"org.avaje" % "ebean" % "2.7.3"
祝你好运
我正在使用 Play 2.5.3 框架,无论出于何种原因,Ebean 在为我的本地(内存中)数据库创建演进时似乎失败了。这是完整的堆栈跟踪。
[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$$anon$$anonfun$get$$anonfun$apply$$anonfun.apply(DevServerStart.scala:174)
[info] at play.core.server.DevServerStart$$anonfun$mainDev$$anon$$anonfun$get$$anonfun$apply$$anonfun.apply(DevServerStart.scala:126)
[info] at scala.Option.map(Option.scala:146)
[info] at play.core.server.DevServerStart$$anonfun$mainDev$$anon$$anonfun$get$$anonfun$apply.apply(DevServerStart.scala:126)
[info] at play.core.server.DevServerStart$$anonfun$mainDev$$anon$$anonfun$get$$anonfun$apply.apply(DevServerStart.scala:124)
[info] at scala.util.Success.flatMap(Try.scala:231)
[info] at play.core.server.DevServerStart$$anonfun$mainDev$$anon$$anonfun$get.apply(DevServerStart.scala:124)
[info] at play.core.server.DevServerStart$$anonfun$mainDev$$anon$$anonfun$get.apply(DevServerStart.scala:116)
[info] at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1(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(EbeanDynamicEvolutions.java:59)
[info] at play.db.ebean.EbeanDynamicEvolutions$$Lambda/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" 文件中,
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 文件只包含
ebean.namingconvention=com.avaje.ebean.config.MatchingNamingConvention
我的 build.sbt 文件如下所示:
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
今天早些时候,应用程序运行正常,我想我更改了一些东西,但在休息时忘记了它。老实说,不知道。
在你的build.sbt文件中替换ebean
的库依赖
"org.avaje.ebeanorm" % "avaje-ebeanorm" % "4.6.2"
与以下
"org.avaje" % "ebean" % "2.7.3"
祝你好运