【问题标题】:Jhipster : entity added, exception on Mapper object at application startupJhipster:添加实体,应用程序启动时映射器对象异常
【发布时间】:2026-01-14 23:50:02
【问题描述】:

我正在使用 Jhipster 生成器主版本。 我添加了一个带有yo jhipster:entity collaborateur 的实体。
一切运行良好。
我已将项目导入 Eclipse。

当我运行我的应用程序时,我收到了这个错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'collaborateurResource': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.myapp.rhapp.web.rest.mapper.CollaborateurMapper com.myapp.rhapp.web.rest.CollaborateurResource.collaborateurMapper; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.myapp.rhapp.web.rest.mapper.CollaborateurMapper] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.inject.Inject()}
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766)
    at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
    at com.myapp.rhapp.rhappApp.main(rhappApp.java:70)
    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.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49)  

Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.myapp.rhapp.web.rest.mapper.CollaborateurMapper com.myapp.rhapp.web.rest.CollaborateurResource.collaborateurMapper; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.myapp.rhapp.web.rest.mapper.CollaborateurMapper] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.inject.Inject()}
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:573)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331)
    ... 20 common frames omitted  

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.myapp.rhapp.web.rest.mapper.CollaborateurMapper] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.inject.Inject()}
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1373)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1119)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:545)
    ... 22 common frames omitted

这是一个已知问题吗?还是我的项目配置有问题?
谢谢

[更新]

我用 yo jhipster 创建了一个项目。
我跑了mvn compile
然后我运行mvn 启动项目(还没有使用eclipse)
我收到此错误:

java.lang.RuntimeException: java.net.BindException: 模拟地址 在 io.undertow.Undertow.start(Undertow.java:186) 处使用 org.springframework.boot.context.embedded.undertow.UndertowEmbeddedServletContainer.start(UndertowEmbeddedServletContainer.java:121) 在 org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:293) 在 org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:141) 在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541) 在 org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118) 在 org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766) 在 org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361) 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:307) 在 com.rhapp.rhapp.RhApp.main(RhApp.java:70) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.springframework.boot.maven.AbstractRunMojo$LaunchRunner.run(AbstractRunMojo.java:478) 在 java.lang.Thread.run(Thread.java:745) 引起: java.net.BindException: 似曾相识的地址 sun.nio.ch.Net.bind0(本机方法)在 sun.nio.ch.Net.bind(Net.java:433) 在 sun.nio.ch.Net.bind(Net.java:425) 在 sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) 在 sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) 在 org.xnio.nio.NioXnioWorker.createTcpConnectionServer(NioXnioWorker.java:190) 在 org.xnio.XnioWorker.createStreamConnectionServer(XnioWorker.java:243) 在 io.undertow.Undertow.start(Undertow.java:142) ... 15 常见 框架省略

【问题讨论】:

    标签: jhipster


    【解决方案1】:

    DTO Mappers 由 MapStruct 注解处理器生成,您可以先运行 mvn compile 生成它们,并确保 target/generated-sources 链接为 Eclipse 中的源文件夹。

    http://jhipster.github.io/configuring-ide-eclipse/

    http://jhipster.github.io/using-dtos/

    或者也许有一种方法可以配置 Eclipse 以自动运行 MapStruct 注释处理器。

    更新

    您可以看到错误消息“Adresse déjà utilisée”,因此请查看您是否有另一个进程正在侦听端口 8080(可能是 Tomcat)并停止它并重新启动您的应用程序或编辑您的application-*.yml,设置@987654326 @property 到 8080 以外的其他地方,然后重新启动您的应用程序。

    【讨论】:

    • 好的,谢谢。我遵循了eclipse指令的配置。现在我有另一个错误。 (见更新主帖)
    • 是的,我发现通过将 8080 更改为 8181 可以解决问题。但是当我扫描端口时,并没有打开 8080....