Nacos-SpringBoot框架启动不加载bootstrap.yml的解决

 更新时间:2022年11月22日 11:26:20   作者:Eistert  
这篇文章主要介绍了Nacos-SpringBoot框架启动不加载bootstrap.yml的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

背景

nacos server 源码运行在本地自己创建的项目中。

正常启动的话,SpringBoot框架会自动加载resource目录下的bootstrap.yml文件中的配置,日志记录会打印相关日志:

在这里插入图片描述

Connected to the target VM, address: '127.0.0.1:54696', transport: 'socket'
2021-12-21 16:18:44.639  INFO 8342 --- [           main] c.a.n.c.l.StartingApplicationListener    : Nacos started successfully in stand alone mode. use external storage

         ,--.
       ,--.'|
   ,--,:  : |                                           Nacos 
,`--.'`|  ' :                       ,---.               Running in stand alone mode, All function modules
|   :  :  | |                      '   ,'\   .--.--.    Port: 8848
:   |   \ | :  ,--.--.     ,---.  /   /   | /  /    '   Pid: 8342
|   : '  '; | /       \   /     \.   ; ,. :|  :  /`./   Console: http://192.168.100.43:8848/nacos/index.html
'   ' ;.    ;.--.  .-. | /    / ''   | |: :|  :  ;_
|   | | \   | \__\/: . ..    ' / '   | .; : \  \    `.      https://nacos.io
'   : |  ; .' ," .--.; |'   ; :__|   :    |  `----.   \
|   | '`--'  /  /  ,.  |'   | '.'|\   \  /  /  /`--'  /
'   : |     ;  :   .'   \   :    : `----'  '--'.     /
;   |.'     |  ,     .-./\   \  /            `--'---'
'---'        `--`---'     `----'

2021-12-21 16:18:46.141  INFO 8342 --- [           main] o.s.cloud.context.scope.GenericScope     : BeanFactory id=71ca1145-0798-3a30-a497-d6b8d15b4f05
2021-12-21 16:18:46.504  INFO 8342 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8848 (http)
2021-12-21 16:18:46.704  INFO 8342 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1780 ms
2021-12-21 16:18:48.714  INFO 8342 --- [           main] o.s.b.a.w.s.WelcomePageHandlerMapping    : Adding welcome page: class path resource [static/index.html]
2021-12-21 16:18:49.190  INFO 8342 --- [           main] o.s.s.web.DefaultSecurityFilterChain     : Will secure Ant [pattern='/**'] with []
2021-12-21 16:18:49.222  INFO 8342 --- [           main] o.s.s.web.DefaultSecurityFilterChain     : Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@20616795, org.springframework.security.web.context.SecurityContextPersistenceFilter@74de1e9d, org.springframework.security.web.header.HeaderWriterFilter@1a927db2, org.springframework.security.web.csrf.CsrfFilter@14abde3e, org.springframework.security.web.authentication.logout.LogoutFilter@7170da18, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@43b9ef41, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@191d69a, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@1b61c1, org.springframework.security.web.session.SessionManagementFilter@4e22fdc0, org.springframework.security.web.access.ExceptionTranslationFilter@281f2d6c]
2021-12-21 16:18:49.270  INFO 8342 --- [           main] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 16 endpoint(s) beneath base path '/actuator'
2021-12-21 16:18:49.374  INFO 8342 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8848 (http) with context path '/nacos'
2021-12-21 16:18:49.396  INFO 8342 --- [           main] c.a.n.c.l.StartingApplicationListener    : Nacos started successfully in stand alone mode. use external storage
2021-12-21 16:18:49.689  INFO 8342 --- [-192.168.100.43] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2021-12-21 16:18:49.691  INFO 8342 --- [-192.168.100.43] o.s.web.servlet.DispatcherServlet        : Completed initialization in 2 ms

但是我把这块的nocos代码原封不动的copy到的自己的一个项目中,修改了bootstrap.yml文件中的数据库连接。

然后启动日志打印却显示使用的是embedded storage。

日志如下:

Connected to the target VM, address: '127.0.0.1:54270', transport: 'socket'

         ,--.
       ,--.'|
   ,--,:  : |                                           Nacos 
,`--.'`|  ' :                       ,---.               Running in stand alone mode, All function modules
|   :  :  | |                      '   ,'\   .--.--.    Port: 8848
:   |   \ | :  ,--.--.     ,---.  /   /   | /  /    '   Pid: 8132
|   : '  '; | /       \   /     \.   ; ,. :|  :  /`./   Console: http://192.168.100.43:8848/nacos/index.html
'   ' ;.    ;.--.  .-. | /    / ''   | |: :|  :  ;_
|   | | \   | \__\/: . ..    ' / '   | .; : \  \    `.      https://nacos.io
'   : |  ; .' ," .--.; |'   ; :__|   :    |  `----.   \
|   | '`--'  /  /  ,.  |'   | '.'|\   \  /  /  /`--'  /
'   : |     ;  :   .'   \   :    : `----'  '--'.     /
;   |.'     |  ,     .-./\   \  /            `--'---'
'---'        `--`---'     `----'

2021-12-21 16:17:11.755  WARN 8132 --- [           main] o.s.boot.StartupInfoLogger               : InetAddress.getLocalHost().getHostName() took 5002 milliseconds to respond. Please verify your network configuration (macOS machines may need to add entries to /etc/hosts).
2021-12-21 16:17:20.760  INFO 8132 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8848 (http)
2021-12-21 16:17:21.339  INFO 8132 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 4410 ms
2021-12-21 16:17:31.806  INFO 8132 --- [           main] o.s.b.a.w.s.WelcomePageHandlerMapping    : Adding welcome page: class path resource [static/index.html]
2021-12-21 16:17:32.562  INFO 8132 --- [           main] o.s.s.web.DefaultSecurityFilterChain     : Will secure Ant [pattern='/**'] with []
2021-12-21 16:17:32.627  INFO 8132 --- [           main] o.s.s.web.DefaultSecurityFilterChain     : Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@51a06fd5, org.springframework.security.web.context.SecurityContextPersistenceFilter@53c0424a, org.springframework.security.web.header.HeaderWriterFilter@360432d3, org.springframework.web.filter.CorsFilter@71458178, org.springframework.security.web.authentication.logout.LogoutFilter@18487f92, com.alibaba.nacos.filter.JwtAuthenticationTokenFilter@26edfa34, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@408a0e92, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@51a65f56, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@776b7fa2, org.springframework.security.web.session.SessionManagementFilter@6391d34f, org.springframework.security.web.access.ExceptionTranslationFilter@66978c15, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@2e7cd4bb]
2021-12-21 16:17:32.664  INFO 8132 --- [           main] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 1 endpoint(s) beneath base path '/actuator'
2021-12-21 16:17:32.783  INFO 8132 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8848 (http) with context path '/nacos'
2021-12-21 16:17:32.829  INFO 8132 --- [           main] c.a.n.c.l.StartingApplicationListener    : Nacos started successfully in stand alone mode. use embedded storage
2021-12-21 16:17:33.599  INFO 8132 --- [-192.168.100.43] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2021-12-21 16:17:33.602  INFO 8132 --- [-192.168.100.43] o.s.web.servlet.DispatcherServlet        : Completed initialization in 2 ms

原因

原因一

看日志应该发现是服务没有读取到bootstrap.yml文件中的配置。应该就是定位到是bootstrap.yml没有被加载。

只要全局引入bootstrap 启动器和配置文件处理器就可以解决这个问题

        <!--bootstrap 启动器-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>
        <!--配置文件处理器-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <!--配置文件加解密-->
        <dependency>
            <groupId>com.github.ulisesbocchio</groupId>
            <artifactId>jasypt-spring-boot-starter</artifactId>
            <version>${jasypt.version}</version>
        </dependency>

原因二

也有可能是自己pom文件排除掉了相关结尾的文件,删掉过滤器就行。

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Activiti开发环境的配置

    Activiti开发环境的配置

    本篇文章主要内容介绍了Activiti开发环境的配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • servlet之cookie简介_动力节点Java学院整理

    servlet之cookie简介_动力节点Java学院整理

    Cookie技术诞生以来,它就成了广大网络用户和Web开发人员争论的一个焦点。下面这篇文章主要给大家介绍了关于servlet之cookie简介的相关资料,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • Java游戏开发拼图游戏经典版

    Java游戏开发拼图游戏经典版

    这篇文章主要介绍了Java游戏开发拼图游戏经典版,对这方面感兴趣的同学可以跟着教程试下
    2021-01-01
  • Java超详细讲解ArrayList与顺序表的用法

    Java超详细讲解ArrayList与顺序表的用法

    ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。ArrayList 继承了 AbstractList ,并实现了 List 接口,顺序表是将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示
    2022-06-06
  • java 汉诺塔Hanoi递归、非递归(仿系统递归)和非递归规律 实现代码

    java 汉诺塔Hanoi递归、非递归(仿系统递归)和非递归规律 实现代码

    汉诺塔(Hanoi) 算法Java实现。通过三个函数,分别对Hanoi进行递归、非递归和非递归规律实现。
    2013-05-05
  • SpringBoot返回Json对象报错(返回对象为空{})

    SpringBoot返回Json对象报错(返回对象为空{})

    本文主要介绍介绍了SpringBoot返回Json对象报错(返回对象为空{}),文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • SpringBoot+MybatisPlus+代码生成器整合示例

    SpringBoot+MybatisPlus+代码生成器整合示例

    这篇文章主要介绍了SpringBoot+MybatisPlus+代码生成器整合示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Java实现滑动验证码的示例代码

    Java实现滑动验证码的示例代码

    这篇文章主要为大家介绍了如何用Java语言实现滑动验证码的生成,项目采用了springboot,maven等技术,感兴趣的小伙伴可以跟随小编学习一下
    2022-02-02
  • 详解spring cloud构建微服务架构的网关(API GateWay)

    详解spring cloud构建微服务架构的网关(API GateWay)

    这篇文章主要介绍了详解spring cloud构建微服务架构的网关(API GateWay),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Spring为IOC容器注入Bean的五种方式详解

    Spring为IOC容器注入Bean的五种方式详解

    这篇文章主要介绍了Spring为IOC容器注入Bean的五种方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10

最新评论