Sal*_*lem 5 gradle playframework ebean
我正在尝试使用Play Gradle插件来编译/打包使用Ebean的Play 2.3.x应用程序.
在编译和打包过程中一切正常,但是当我运行应用程序时,我得到了众所周知的错误
Entity type class SomeEntity is not an enhanced entity bean.
Subclassing is not longer supported in Ebean
Run Code Online (Sandbox Code Playgroud)
那么如何在编译期间让Gradle运行增强器呢?
这就是我做到的.我正在使用2.4,但应该可以为你工作.
首先在build.gradle中添加配置,如下所示 -
configurations {
enhance
}
Run Code Online (Sandbox Code Playgroud)
接下来添加对ebeanorm代理的依赖,如下所示:
dependencies {
enhance group: 'org.avaje.ebeanorm', name: 'avaje-ebeanorm-agent', version: '4.5.3'
}
Run Code Online (Sandbox Code Playgroud)
确保您在build.gradle中具有所需的播放依赖关系,如下所示:
dependencies {
play 'org.avaje:avaje-agentloader:2.1.2'
play "org.avaje.ebeanorm:avaje-ebeanorm-agent:4.5.3"
}
Run Code Online (Sandbox Code Playgroud)
最后添加以下内容以在执行编译任务后执行增强:
model {
components {
play {
binaries.all{binary ->
tasks.withType(PlatformScalaCompile) {
doLast {
ant.taskdef(name: 'ebean', classname: 'com.avaje.ebean.enhance.ant.AntEnhanceTask', classpath: project.configurations.enhance.asPath)
ant.ebean(classSource: "${project.buildDir}/playBinary/classes", packages: 'models.package.name', transformArgs: 'debug=1')
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
767 次 |
| 最近记录: |