spring-boot - JHipster - 没有可用的“org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory”类型的合格 bean
问题描述
我正在开发一个 JHipster 应用程序。我在配置 SSL 时遇到问题。我使用 Letsencrypt 生成了一个证书并修改了我的 yaml 生产文件(启用了 SSL)。但是当我在我的 Tomcat 上部署时,我遇到了以下异常:
Parameter 0 of constructor in io.github.jhipster.security.ssl.UndertowSSLConfiguration required a bean of type 'org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory' that could not be found.
The following candidates were found but could not be injected:
- Bean method 'undertowServletWebServerFactory' in 'ServletWebServerFactoryConfiguration.EmbeddedUndertow'
not loaded because
@ConditionalOnMissingBean (types: org.springframework.boot.web.servlet.server.ServletWebServerFactory; SearchStrategy: current)
found beans of type 'org.springframework.boot.web.servlet.server.ServletWebServerFactory' tomcatServletWebServerFactory
Action:
Consider revisiting the entries above or defining a bean of type 'org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory' in your configuration.
22-Nov-2019 05:47:32.154 SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:614)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1823)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'undertowSSLConfiguration' defined in URL [jar:file:/var/lib/tomcat8/apache-tomcat-8.5.46/webapps/ROOT/WEB-INF/lib/jhipster-framework-3.0.5.jar!/io/github/jhipster/security/ssl/UndertowSSLConfiguration.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:769)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:218)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1341)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1187)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:845)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:151)
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:131)
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:91)
at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:171)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 10 more
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1658)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1217)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1171)
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:857)
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:760)
... 32 more
它似乎期望UndertowServletWebServerFactory
但已经找到tomcatServletWebServerFactory
。我在网上搜索了 JHipster 文档,但没有找到与这些问题相关的任何内容。
有人可以帮我吗?谢谢
解决方案
推荐阅读
- excel - 如何在不跳过列的情况下从合并单元格复制和粘贴公式
- python - 如何使我的矩形与旋转精灵一起旋转
- node.js - Giphy API 总是提供相同的 gif (discord.js)
- react-native - 我已经在 play 和 apple store 上发布了一个 expo 应用程序。在这种情况下,如何使用 OTA 无线更新?
- ios - 无法使用 React Native WebView 在 iOS 中单击和拨打电话号码
- reactjs - react-final-form formState 条件渲染中的问题
- amazon-web-services - 限制对 aws s3 中文档的访问以保护访问用户免受其他租户访问它的最佳方法是什么
- tensorflow - 如何从索引值中获取值
- java - 格式化Alluxio:没有在文件系统工厂下找到:hdfs://nameservice1/alluxio/journal/BlockMaster
- java - 从 IntelliJ IDEA 中的 gradle 项目运行单元测试时,如何仅显示类名?