gpt4 book ai didi

gradle - gradle/kotlin应用程序中的“Bean class com.xxx.domain.Customer is not enhanced?”错误

转载 作者:行者123 更新时间:2023-12-03 05:46:42 27 4
gpt4 key购买 nike

我试图在Gradle的Kotlin应用程序中使用Ebean。

我在GitHub上跟踪了许多示例,我很确定我的代码还可以,但是我仍然收到此错误:

Caused by: java.lang.IllegalStateException: Bean class com.xxx.domain.Customer is not enhanced?
at io.ebeaninternal.server.deploy.BeanDescriptorManager.setEntityBeanClass(BeanDescriptorManager.java:1413)
at io.ebeaninternal.server.deploy.BeanDescriptorManager.createByteCode(BeanDescriptorManager.java:1285)
at io.ebeaninternal.server.deploy.BeanDescriptorManager.readDeployAssociations(BeanDescriptorManager.java:1207)
at io.ebeaninternal.server.deploy.BeanDescriptorManager.readEntityDeploymentAssociations(BeanDescriptorManager.java:710)
at io.ebeaninternal.server.deploy.BeanDescriptorManager.deploy(BeanDescriptorManager.java:325)
at io.ebeaninternal.server.core.InternalConfiguration.<init>(InternalConfiguration.java:141)
at io.ebeaninternal.server.core.DefaultContainer.createServer(DefaultContainer.java:130)
at io.ebeaninternal.server.core.DefaultContainer.createServer(DefaultContainer.java:79)
at io.ebeaninternal.server.core.DefaultContainer.createServer(DefaultContainer.java:44)
at io.ebean.EbeanServerFactory.create(EbeanServerFactory.java:55)
at io.ebean.Ebean$ServerManager.getWithCreate(Ebean.java:201)
at io.ebean.Ebean$ServerManager.<init>(Ebean.java:159)
... 6 more

这是我的build.gradle代码:
buildscript {
ext.kotlin_version = '1.2.31'


repositories {
mavenCentral()
}


dependencies {
classpath "io.ebean:ebean-gradle-plugin:10.2.2"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}


apply plugin: 'kotlin'
apply plugin: 'kotlin-kapt'
apply plugin: 'application'
apply plugin: 'ebean'


mainClassName = 'com.xxx.HelloWorldKt'


defaultTasks 'run'


repositories {
mavenCentral()
}


dependencies {
kapt "io.ebean:kotlin-querybean-generator:10.1.2"

compile group: 'mysql', name: 'mysql-connector-java', version: '6.0.6'
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

compile "io.ebean:ebean:10.3.1"
compile "io.ebean:ebean-querybean:10.3.1"

testCompile 'junit:junit:4.11'
testCompile "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"
}


kapt {
generateStubs = true
}


sourceSets {
main.kotlin.srcDirs += [file("$buildDir/generated/source/kaptKotlin/main")]
}

我已经在IntelliJ中安装了2个插件。
  • Ebean 10.x增强功能
  • Ebean增强

  • 两者都被激活。

    这是我的Bean代码
    import io.ebean.Model
    import javax.persistence.Entity
    import javax.persistence.Id

    @Entity
    class Customer : Model() {

    @Id
    var id: Long = 0

    var name: String = ""

    var version: Long = 0
    }

    我尝试使用“应用程序配置”和“Gradle配置”运行该应用程序。两者都执行相同的错误。

    我可以看到QCustomer生成的代码在那里,但是我一直都在收到此错误。

    我究竟做错了什么?

    谢谢!

    最佳答案

    有四件事要检查此问题:

    1)由于我已经用相同的代码进行了多次测试,因此我的“build”文件夹中充满了以前生成的代码,而“Rebuild”功能没有清除它。我自己做了一个删除操作+完整的“重建”操作,它删除了很多错误消息。但是还缺少其他东西。

    2)确保“resource”文件夹中的文件“ebean.mf”具有正确的“entity-packages”和“transactional-packages”。在我的情况下是com.xxx.domain。这是需要增强的文件夹,其中包含您的模型。

    3)如果您正在使用“应用程序”配置设置(使用IDE启动应用程序),请确保安装并激活正确的Ebean Enhancement插件。就我而言,我只需要Ebean 10.x增强插件。

    4)如果使用“渐变”配置设置,请确保sourceSets设置如下:

    sourceSets {
    main.kotlin.srcDirs += [file("$buildDir/generated/source/kaptKotlin/main")]
    }

    希望对您有所帮助。我花了很多时间在这上面。

    关于gradle - gradle/kotlin应用程序中的“Bean class com.xxx.domain.Customer is not enhanced?”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49777959/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com