首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EBean增强maven

EBean增强maven
EN

Stack Overflow用户
提问于 2018-09-02 13:05:57
回答 3查看 610关注 0票数 3

我正在尝试让Ebean在我的spring项目中工作,但是在运行我的应用程序时,我一直得到这个异常:

代码语言:javascript
复制
Caused by: java.lang.IllegalStateException: Bean class com.sshmanager.server.database.entity.User is not enhanced?
    at io.ebeaninternal.server.deploy.BeanDescriptorManager.setEntityBeanClass(BeanDescriptorManager.java:1556) ~[ebean-11.22.4.jar:na]
    at io.ebeaninternal.server.deploy.BeanDescriptorManager.createByteCode(BeanDescriptorManager.java:1423) ~[ebean-11.22.4.jar:na]
    at io.ebeaninternal.server.deploy.BeanDescriptorManager.readDeployAssociations(BeanDescriptorManager.java:1333) ~[ebean-11.22.4.jar:na]
    at io.ebeaninternal.server.deploy.BeanDescriptorManager.readEntityDeploymentAssociations(BeanDescriptorManager.java:748) ~[ebean-11.22.4.jar:na]
    at io.ebeaninternal.server.deploy.BeanDescriptorManager.deploy(BeanDescriptorManager.java:369) ~[ebean-11.22.4.jar:na]
    at io.ebeaninternal.server.core.InternalConfiguration.<init>(InternalConfiguration.java:197) ~[ebean-11.22.4.jar:na]
    at io.ebeaninternal.server.core.DefaultContainer.createServer(DefaultContainer.java:124) ~[ebean-11.22.4.jar:na]
    at io.ebeaninternal.server.core.DefaultContainer.createServer(DefaultContainer.java:35) ~[ebean-11.22.4.jar:na]
    at io.ebean.EbeanServerFactory.createInternal(EbeanServerFactory.java:109) ~[ebean-11.22.4.jar:na]
    at io.ebean.EbeanServerFactory.create(EbeanServerFactory.java:70) ~[ebean-11.22.4.jar:na]
    at com.sshmanager.server.database.EbeanFactoryBean.getObject(EbeanFactoryBean.kt:19) ~[classes/:na]
    at com.sshmanager.server.database.EbeanFactoryBean.getObject(EbeanFactoryBean.kt:10) ~[classes/:na]
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:171) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    ... 36 common frames omitted

我已经添加了io.ebean.tile:enhancement插件。

我还尝试使用mvn ebean:init命令添加ebean.mf以控制增强,但是当我运行它时会得到一个异常:

代码语言:javascript
复制
[INFO] Scanning for projects...
[INFO] --- tiles-maven-plugin: Injecting 1 tiles as intermediary parent artifacts for com.sshmanager:server...
[INFO] Mixed 'com.sshmanager:server:0.0.1-SNAPSHOT' with tile 'io.ebean.tile:enhancement:5.6' as its new parent.
[INFO] Mixed 'io.ebean.tile:enhancement:5.6' with original parent 'org.springframework.boot:spring-boot-starter-parent:2.0.4.RELEASE' as its new top level parent.
[INFO] 
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Building server 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- codegen-maven-plugin:4.2:init (default-cli) @ server ---
---------------------------------------------
EBEAN : INIT  - interactive ebean initialiser
---------------------------------------------


Commands:
  M - Manifest - add ebean.mf to control enhancement (recommended)
  P - Test properties - Add test-ebean.properties to configure Ebean when running tests (recommended)
  L - Logging - Add test logging entry to log SQL when running tests (recommended)
  G - Generate migrations - Add GenerateDbMigration for generating DB migration scripts (recommended)
  D - Docker - Add support for running tests against Docker containers (Postgres, ElasticSearch etc)
  F - Finders - generate finders
  T - Type safe query beans - manually generate them (rather than via APT/KAPT)
  Q - Quit
  Select an command: [M/P/L/G/D/F/T/Q] > M
Select a package that will contain the entity beans
  0 - Other
  1 - com.sshmanager.server.database.entity
select one of the options above
1
---- answer: com.sshmanager.server.database.entity
[ERROR] Error running detection on project
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.String.substring (String.java:1931)
    at io.ebean.codegen.Detection.diff (Detection.java:186)
    at io.ebean.codegen.Detection.getTopPackage (Detection.java:124)
    at io.ebean.codegen.InteractionHelp.questionTransactionalPackage (InteractionHelp.java:44)
    at io.ebean.codegen.DoAddManifest.run (DoAddManifest.java:21)
    at io.ebean.codegen.Interaction.executeManifest (Interaction.java:123)
    at io.ebean.codegen.Interaction.executeCommand (Interaction.java:48)
    at io.ebean.codegen.Interaction.run (Interaction.java:36)
    at io.ebean.codegen.InitMojo.execute (InitMojo.java:46)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:134)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:955)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 17.859 s
[INFO] Finished at: 2018-09-02T15:02:21+02:00
[INFO] Final Memory: 33M/206M
[INFO] ------------------------------------------------------------------------

除了这个例外我找不到其他人..。

有人知道我怎么解决这个问题吗?

我用的是最新版本的Ebean。

编辑

我正在使用Intellij,刚刚安装了Ebean增强插件,但是它仍然不能工作。在构建消息中,我可以看到我的实体得到了增强,但我仍然有例外:

代码语言:javascript
复制
java.lang.IllegalStateException: Bean class com.sshmanager.server.database.entity.User is not enhanced?
EN

回答 3

Stack Overflow用户

发布于 2019-01-18 01:15:58

参考文献:https://ebean.io/docs/getting-started/maven

请注意,您需要-增强瓷砖(您已经拥有)- src/main/resources/ebean.mf (看起来像您缺少的地方吗?)

请注意,mvn ebean:init被废弃,并被cli工具所取代。请参阅https://ebean.io/docs/getting-started/cli-tool

还请注意,这里有一个疑难解答页面:请参阅https://ebean.io/docs/trouble-shooting

票数 1
EN

Stack Overflow用户

发布于 2020-04-18 19:05:19

下面有两样东西在pom中。

代码语言:javascript
复制
<plugin>
            <groupId>io.ebean</groupId>
            <artifactId>ebean-maven-plugin</artifactId>
            <version>11.11.2</version>
            <executions>
                <execution>
                    <id>main</id>
                    <phase>process-classes</phase>
                    <configuration>
                        <transformArgs>debug=1</transformArgs>
                    </configuration>
                    <goals>
                        <goal>enhance</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

并且您的bean具有所有所需的注释,如@Entity、@Table,以及POJO扩展io.ebean.Model

此外,如果您没有得到正确的https://www.youtube.com/watch?v=o4kmglM48Vc,请检查下面的链接

票数 0
EN

Stack Overflow用户

发布于 2022-11-29 11:55:30

如果您使用ebean11.x,可以安装eclipse增强插件->选择configure ->选择EnableEbeanExancer11.X参见项目中的ebean增强插件右键单击

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52137329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档