springCloud集成nacos启动时报错原因排查

目录
  • 排查一
    • 检查nacos中配置的database的配置
  • 排查二
    • 检查bootstrap.yml的配置是否和nacos中内容一致
  • 排查三
    • 检查有无 spring-cloud-starter-bootstrap依赖
    • 为什么要加bootstrap的依赖?
  • 总结

今早在集成nacos时启动报如下错:

Description:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class

Action:

Consider the following:
    If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
    If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).

Process finished with exit code 1

排查一

检查nacos中配置的database的配置

上面的错误描述明确的说了是datasource的url读不到,那么第一反应是去检查一下是不是配置错误了,nacos中配置的文件检查了datasource的所有属性没有问题

️注意:这里可能会踩坑的是mysql的版本在8以下和8以上driver-class-name是不一样的,8及以上需要在加上cj,还需要在url后面加上时区,这里我检查了一下我的mysql是8.0

排查二

检查bootstrap.yml的配置是否和nacos中内容一致

既然排除了我的数据库配置没问题,那么就需要检查一下我的项目是否能拉到nacos的配置

对比如下,仔细检查后配置没有问题

排查三

检查有无 spring-cloud-starter-bootstrap依赖

在出问题的时候查阅了多方资料,都忽略了这个,因为检查了自己的pom包里面已经有了spring-cloud-starter的依赖,就没有考虑过加bootstrap的依赖,最后实在解决不了我的错,就报着试一下的心态去加了下面的依赖,好了!

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

为什么要加bootstrap的依赖?

我在项目中新加了一个bootstrap.yml,在这之前我只了解到bootstarp.yml的加载优先级比bootstrap.properties更高,但是springboot项目中如果没有spring-cloud-context或者spring-cloud-starter-bootstrap的依赖的话是不会去读取bootstrap.properties的,只会去读application.properties,

  • spring boot 2.4版本以下加
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-context</artifactId>
</dependency>
  • spring boot 2.4版本以上加
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

总结

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

(0)

相关推荐

  • SpringCloud-Alibaba-Nacos启动失败解决方案

    下载及启动 Nacos 下载地址:https://github.com/alibaba/nacos/releases 在Windows下,进入bin目录,双击 startup.cmd 即可运行 启动出现问题 问题:双击 startup.cmd 启动失败,窗口一闪而过 你需要先去试试你的 Tomcat 能否启动:进入 Tomcat 安装目录 bin 文件夹,双击 startup.bat 如果能正常启动,出门右转,下面的不用看了

  • SpringCloud2020整合Nacos-Bootstrap配置不生效的解决

    因为公司现在换成了nacos,所以自己写了demo学习一下.结果第一步就走不下去.在使用nacos-config读取nacos配置时.发现bootstrap.yml一直不生效. 按照网上的解决方法引入依赖. <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-context</artifactId> </dependency&g

  • SpringCloud读取Nacos配置中心报错及遇到的坑:Could not resolve placeholder ‘xxx’ in value ‘${xxx}

    hello,我是灰小猿,一个超会写bug的程序员! 近期在写一个spring cloud Alibaba读取Nacos配置中心远程配置文件的内容时,出现了几个比较坑的bug,在此记录一下,帮大家避避坑. 我的使用场景: SpringBoot版本为2.6.0 Spring Cloud版本为2021.0.1 Spring Cloud Alibaba版本为2021.0.1.0 如果你的Cloud版本是2020.0.0版本之后的,建议直接先看是否是由第二个坑引起的. 第一个坑:Could not res

  • 关于springcloud集成nacos遇到的问题

    目录 springcloud集成nacos遇到的问题 1.获取不到配置文件信息 2.springcloud 服务注册不上服务列表 springcloud无法注册Nacos 这是官方推荐一起使用的版本 赶紧去pom中改成2.2.1.RELEASE,加载后重新运行 springcloud集成nacos遇到的问题 1.获取不到配置文件信息 有时候新建了配置文件后浏览器访问发现获取不到里面的值,原来springcloud对应的nacos配置中心配置Data ID是需要加后缀名的 在 Nacos Spri

  • SpringCloud集成Nacos的使用小结

    Nacos 注册中心 Nacos 是 Dubbo 生态系统中重要的注册中心实现,其中 dubbo-registry-nacos 则是 Dubbo 融合 Nacos 注册中心的实现. Nacos服务安装与启动 安装地址: https://github.com/alibaba/nacos/releases 本文在Windows环境测试,下载zip版,解压. 配置conf目录下的application.properties文件,配置nacos数据源,端口等. #*************** Spri

  • 解决eclipse启动时报错Failed to create the Java Virtural Machine.问题的方法

    最近在学习android的开发搭建环境时,在网上下载了一个最新的eclpse,在启动的时候报错:Failed to create the Java Virtural Machine. 翻译一下,其意思就是说打开eclipse的失败原因是创建java虚拟机失败! 一般在启动的时候,出错,基本上除了虚拟机出错,就是jdk配置出错. 问题截图: 看原来的配置文件eclipse.ini的内容: 看最后一行"-XX:MaxPermSize=512M"改为256即可. 在看看找不到jdk启动报错的

  • Oracle实例启动时报错:ORA-32004的解决方法

    前言 前段时间,早上刚到公司,打开电脑就发现启动Oracle实例的时候报了下面的错误: SQL> startup nomount; ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance ORA-16032: parameter LOG_ARCHIVE_DEST destination string cannot be translated ORA-07286: sksagdi: cannot obt

  • php 启动时报错的简单解决方法

    php 启动报错 复制代码 代码如下: [root@abc lnmp]# service php-fpm start Starting php-fpm eAccelerator: Could not allocate 67108864 bytes, the maximum size the kernel allows is 33554432 bytes. Lower the amount of memory request or increase the limit in /proc/sys/k

  • 解决springboot整合cxf启动报错,原因是版本问题

    springboot整合cxf启动报错 错误信息如下 [DEBUG] 2021-01-26 11:28:47,848 [main] org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter - Application failed to start due to an exception org.springframework.beans.factory.NoSuchBeanDefinitionException: N

  • 解决Mysql服务器启动时报错问题的方法

    一.概述 文章主要介绍因为启动mysql服务报错引发的问题:"ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid)",顺带扩充一些其它的知识点,当前版本是red hat 6,mysql 5.6. 二.步骤 报错的源头 问题解决 1.权限 报错的源头就是它了,一般这种问题首先会想到的就是权限问题,就是/var/lib/mysql该文件夹的权限 上图可以看到my

  • Tomcat启动时报错:java.lang.UnsatisfiedLinkError的解决

    问题 之前tomcat启动老是报错,虽然不影响项目的启动运行,但是有强迫症的程序员会心里不爽: 如下: 问题分析 由于本机安装的jdk版本与tomcat中使用的jdk版本不一致导致的. 解决方法 后面我把原先tomcat启动环境用的jdk1.7改为了本机安装的jdk1.8就不在报错. 具体过程: 在myeclipse中点击window→preference→在搜索框中输入Tomcat→选择安装的tomcat版本,我这里是选择Tomcat 7.x→点击JDK→在Tomcat 7.x JDK nam

  • springcloud gateway网关服务启动报错的解决

    目录 gateway网关服务启动报错 集成gateway 报错 原因分析 gateway网关运行时报错问题(版本问题) 父级中的版本问题 原因:父项目中的jdk版本问题 解决方法 gateway网关服务启动报错 集成gateway springcloud网关集成gateway服务 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter

  • MySQL启动报错问题InnoDB:Unable to lock/ibdata1 error

    在OS X环境下MySQL启动时报错: 016-03-03T00:02:30.483037Z 0 [ERROR] InnoDB: Unable to lock ./ibdata1 error: 35 2016-03-03T00:02:30.483100Z 0 [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files. 终端不断地重

随机推荐