【问题标题】:Upgrade Ebean on PlayFramework 2.2.2在 PlayFramework 2.2.2 上升级 Ebean
【发布时间】:2014-03-11 22:16:33
【问题描述】:

自从我开始使用Play Framework 以来,我一直在使用Ebean 度过一段难熬的时光,否则我绝对喜欢它。

Ebean 刚刚修复了一个影响我的错误,但似乎在我已更新到的最后一次 Play 部署 v2.2.2 期间没有得到修复。

是否可以在我的实例中手动升级 Ebean?

【问题讨论】:

    标签: java playframework playframework-2.2 ebean


    【解决方案1】:

    编辑:我们提出了 TypeSafe 的问题,并且 James Roper 很好地创建了一个兼容性库。使用它,我们已经能够成功使用 3.3.3 版本的 Ebean 库。

    就像将它添加到您的 Build.scala/sbt 文件一样简单:

    libraryDependencies ++= Seq(
      "org.avaje.ebeanorm" % "avaje-ebeanorm" % "3.3.3",
      "com.typesafe.play" % "play-ebean-33-compat" % "1.0.0"
    )
    

    兼容性库在这里: https://github.com/typesafehub/play-ebean-33-compat

    原件: 迟到了,但我认为这目前是不可能的,因为 Play 2.2.3 中的 Play Ebean 插件与 Ebean 3.3.x 版本不兼容。

    Play 框架 https://github.com/playframework/playframework/issues/2672 存在此问题。我发现在随后的重新编译(没有清理)之后,它最终会编译甚至工作。这可能会让你相信这根本不是问题。这可能与最终使用旧版本的 Ebean 库有关。

    【讨论】:

      【解决方案2】:

      试着把它放在你的 SBT 上

      dependencyOverrides += "org.avaje.ebeanorm" % "avaje-ebeanorm-agent" % "3.2.2","org.avaje.ebeanorm" % "avaje-ebeanorm" % "3.3.1-RC2"
      

      【讨论】:

      • 谢谢,这让我走上了正确的道路。但是,我不得不添加这个:"org.avaje.ebeanorm" % "avaje-ebeanorm" % "3.3.1-RC2", "org.avaje.ebeanorm" % "avaje-ebeanorm-agent" % "3.2.2" 现在看来我有一个新问题......在运行play idea 重新生成我的项目,然后play,然后run,我的项目“启动”了,但是我收到以下编译错误:error: package play.db.ebean does not exist 所以我还没有离开水。我错过了一步吗?
      • 尝试将 javaEbean 保留在那里,看看它是否有效。我已经要求你删除它,因为它会下载 play ebean 的依赖项,它将指向旧版本。更新了我的答案并将 javaEbean 保留在 SBT 中
      • 我在看到你的 cmets 之前尝试过,并且得到了更多关于缺少内部类的更深层次的错误。我想我可以成为 SOL。好像最新的Ebean版本和Play-2.2.2不兼容。
      • 缺少哪些类?
      • 我再次尝试,将javaEbean 留在原处,并添加我在上面的评论中添加的相同的两行,运行play ideaplay 然后run,现在看来启动并运行。我会接受你的回答,但请将其更新为我设置的两行,因为不再使用旧的 ebean lib,它是较新的 avaje-ebeanorm。感谢您的帮助!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-25
      相关资源
      最近更新 更多