全文检索知识库档案管理 后端启动报错

全文检索知识库档案管理 后端启动报错

img

img

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2023-09-14 16:19:33.394 [main] ERROR org.springframework.boot.SpringApplication:837 - Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'esTemplateInit': Unsatisfied dependency expressed through field 'iKmEsMgntService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'kmEsMgntServiceImpl': Unsatisfied dependency expressed through field 'restHighLevelClient'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'restHighLevelClient' defined in class path resource [org/jeecg/modules/KM/common/config/ElasticsearchConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.elasticsearch.client.RestHighLevelClient]: Factory method 'restHighLevelClient' threw exception; nested exception is java.lang.IllegalArgumentException: Username may not be null
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:643)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:130)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1420)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:897)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:879)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:551)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:405)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
    at org.jeecg.JeecgApplication.main(JeecgApplication.java:29)
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'kmEsMgntServiceImpl': Unsatisfied dependency expressed through field 'restHighLevelClient'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'restHighLevelClient' defined in class path resource [org/jeecg/modules/KM/common/config/ElasticsearchConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.elasticsearch.client.RestHighLevelClient]: Factory method 'restHighLevelClient' threw exception; nested exception is java.lang.IllegalArgumentException: Username may not be null
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:643)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:130)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1420)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1307)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1227)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640)
    ... 20 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'restHighLevelClient' defined in class path resource [org/jeecg/modules/KM/common/config/ElasticsearchConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.elasticsearch.client.RestHighLevelClient]: Factory method 'restHighLevelClient' threw exception; nested exception is java.lang.IllegalArgumentException: Username may not be null
    at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:655)
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:483)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1336)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1176)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:556)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1307)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1227)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640)
    ... 33 common frames omitted
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.elasticsearch.client.RestHighLevelClient]: Factory method 'restHighLevelClient' threw exception; nested exception is java.lang.IllegalArgumentException: Username may not be null
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
    at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:650)
    ... 46 common frames omitted
Caused by: java.lang.IllegalArgumentException: Username may not be null
    at org.apache.http.util.Args.notNull(Args.java:54)
    at org.apache.http.auth.UsernamePasswordCredentials.<init>(UsernamePasswordCredentials.java:81)
    at org.jeecg.modules.KM.common.config.ElasticsearchConfig.restHighLevelClient(ElasticsearchConfig.java:67)
    at org.jeecg.modules.KM.common.config.ElasticsearchConfig$$EnhancerBySpringCGLIB$$5b7a400c.CGLIB$restHighLevelClient$6(<generated>)
    at org.jeecg.modules.KM.common.config.ElasticsearchConfig$$EnhancerBySpringCGLIB$$5b7a400c$$FastClassBySpringCGLIB$$7c3ca7a4.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244)
    at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331)
    at org.jeecg.modules.KM.common.config.ElasticsearchConfig$$EnhancerBySpringCGLIB$$5b7a400c.restHighLevelClient(<generated>)
    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.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
    ... 47 common frames omitted


引用 皆我百晓生 小程序回复内容作答:

根据错误信息,您的应用程序在启动时遇到了以下问题:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'esTemplateInit': Unsatisfied dependency expressed through field 'iKmEsMgntService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'kmEsMgntServiceImpl': Unsatisfied dependency expressed through field 'restHighLevelClient'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'restHighLevelClient' defined in class path resource [org/jeecg/modules/KM/common/config/ElasticsearchConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.elasticsearch.client.RestHighLevelClient]: Factory method 'restHighLevelClient' threw exception; nested exception is java.lang.IllegalArgumentException: Username may not be null

这个错误是由于在Elasticsearch的配置文件中未设置用户名而导致的。在您的配置文件中,您需要配置Elasticsearch的用户名和密码以连接到Elasticsearch服务器。

您可以根据您的具体情况,在ElasticsearchConfig类中找到restHighLevelClient的bean定义,并确保您设置了正确的用户名和密码。例如,您可以根据您的配置文件使用以下代码来设置用户名和密码:

```java
@Bean
public RestHighLevelClient restHighLevelClient() {
    CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
    credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("your-username", "your-password"));

    RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9200))
            .setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider));

    return new RestHighLevelClient(builder);
}

请确保将your-usernameyour-password替换为正确的用户名和密码。

重新启动应用程序时,错误应该就会被解决。如有任何问题,请随时提问。
```

【相关推荐】



  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/749719
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:【服务器数据恢复】异常断电导致虚拟机文件丢失不能启动的数据恢复案例
  • 您还可以看一下 Abel小智老师的嵌入式开发系统学习路线 从基础到项目 精品教程 工程师必备课程 物联网课程中的 你必须要了解的数据结构小节, 巩固相关知识点
  • 除此之外, 这篇博客: 威纶触摸屏如何组态设置离散量报警及报警历史记录?中的 威纶触摸屏如何组态设置离散量报警及报警历史记录? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

    0.0

    1. 我们打开威纶触摸屏的组态软件EasybuilderPro,新建一个项目,在左侧的目录树中添加一个窗口11:报警历史记录,然后在“系统参数”中添加通信的PLC设备,如下图所示,
      0.1
      1
    2. 我们找到菜单栏中的“资料/历史”,点击“事件登录”,如下图所示:
      2
    3. 进入“事件登录”的详细设置界面,如下图所示,可以选择事件的历史资料存储的目标设备:HMI,U盘,SD卡;点击下方的“新增”,即可添加事件;
      3
    4. 点击下方的“新增”,即可进入事件的详细属性设置界面,如下图所示,
      类别:0-255;
      等级:低、正常、高、紧急;
      类型:即触发信号的数据类型,分为位(BOOL型变量)和字(WORD型变量);
      读取地址:选择我们想要读取地址的目标设备,若连接的多台PLC,可以点击下拉箭头进行选择;在设备的下方输入我们需要读取的具体地址,例如X0,M100,SM8029,D300等;
      触发条件:
      位类型的有:(如下图所示)
      5
      字类型的有:(如下图所示)
      6

    4
    5. 在“资料/历史”菜单栏中点击选择“报警条”,然后放置在窗口10中,如下图所示,
    7
    6. 双击报警条即可进入其属性设置界面,如下图所示,报警部分可以设置的项目有:
    报警显示的类别范围;
    报警条的移动速度;
    外框和背景的颜色;
    8
    排序部分可以设置的项目有:
    可选择显示的项目;(勾选即表示显示该项目)
    显示的顺序;(通过上下箭头可以调整)
    排序的时间格式等;
    9
    7. 以上,报警条的部分基本设置完毕,下面再和大家分享一下报警历史记录界面的添加,如下图所示,我们切换到“报警历史记录”画面,在“资料/历史”菜单栏中点击选择“报警显示”,然后放置到窗口中;
    10
    8. 双击“报警显示”元件,进入详细属性设置界面,如下图所示,可以设置是否需要启用确认功能、显示的类别范围、是否启用网格、需要显示的项目(勾选即显示)、项目的显示顺序等;
    11
    12
    13
    以上,设置完成后,我们即可编译下载到触摸屏中进行实际的测试,关于报警部分的组态设置,你学废了吗。。。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^