我将Ebean从3.3.4升级到4.5.5,但始终出现以下错误:
java.lang.NoSuchFieldException: _ebean_props
并且在我运行"激活器清理,编译"之后它仍然存在命令。
我跑'#34;激活者ui"命令,我看到了以下日志:
**Read from stdout: Here are some of the libraries that were evicted:
Here are some of the libraries that were evicted:
Read from stdout: * org.avaje.ebeanorm:avaje-ebeanorm:3.3.4 -> 4.5.5
* org.avaje.ebeanorm:avaje-ebeanorm:3.3.4 -> 4.5.5
Read from stdout: * org.avaje.ebeanorm:avaje-ebeanorm-agent:3.2.2 -> 4.5.2
* org.avaje.ebeanorm:avaje-ebeanorm-agent:3.2.2 -> 4.5.2
Read from stdout: Run 'evicted' to see detailed eviction warnings**
我的播放框架是2.3.8,Scala SDK是2.11.6。
如何解决问题?
提前致谢。
答案 0 :(得分:0)
我不相信Play Framework 2.3及更低版本可以使用Ebean的最新版本(4.x)。在Play 2.4中,它们正在解耦play-ebean插件,这将有望为允许使用更新版本的Ebean铺平道路。
您可以观看此主题以获取更新信息: https://github.com/playframework/playframework/issues/2926
此外,Play-Ebean插件将在Play 2.4中使用: https://github.com/playframework/play-ebean
答案 1 :(得分:0)
我们这样做。您必须在您的sbt包含中不包含javaEbean
,而是包含新的ebean库。 (例如:"org.avaje.ebeanorm" % "avaje-ebeanorm" % "4.5.5"
)。您还需要通过java代理或代理加载器自行启用增强功能(请参阅:Ebean ORM::Enhancement)
注意,您还需要更改模型,服务等类中的include语句以指向新包(它们从3.x更改为4.x更改),编译时会很明显如果你的IDE没有警告你。