2016-06-16 2 views
0

私がプレイに2.5.3フレームワークを使っていて、何らかの理由でEbeanは私のために進化を作成するときに失敗しているように見えますローカル(メモリ内)データベース。ここでは完全なスタックトレースがあります。プレイ2.5.3/Ebean:NoSuchMethodError:com.avaje.ebean.config.ServerConfig.getConstraintNaming()

[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" ファイルで

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ファイル、単純に次のように私のbuild.sbtファイルが見え

ebean.namingconvention=com.avaje.ebean.config.MatchingNamingConvention 

が含まれています

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 

以前の今日、アプリケーションがエラーなしで働いていた、と私は、私が何かを変更し、休憩を取りながら、それについて忘れてしまったとします。考えていない、正直なところ。

答えて

0

"org.avaje" % "ebean" % "2.7.3" 

であなたのbuild.sbtファイルに

"org.avaje.ebeanorm" % "avaje-ebeanorm" % "4.6.2" 

ebeanのライブラリの依存関係を置き換えは幸運

+0

はねえ、残念ながら、これは動作しませんでした持っています。私はそのラインを変更し、私のプロジェクトのlibフォルダにダウンロードされた新しいの.jarを追加しました。他のアイデアは?最初の助けをありがとう! –

+0

私はいくつかのより多くの私の依存関係を台無しにし、それが動作するようになりました。依存関係としてebeanの複数のバージョンを持ついくつかの問題があったとあるようです。 ebean-2.7.3とavaje-ebeanorm-6.18.1のため、私のbuild.sbtファイルに上記の変更を行う除くもののすべてを取り除く問題を修正しました。 –