來源於:https://www.jianshu.com/p/3253732d02ac
1、部署完nacos,啟動RuoYiSystemApplication時,報數據信息不存在
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
【分析】從現象看,是沒讀取到數據庫url,即沒有讀取到配置文件。由於第一使用nacos配置中心,也不知道是我的配置文件命名錯誤還是其他什么問題。將配置文件直接寫入bootstrap.yml中依然報錯,排除nacos配置文件命名問題。
備注:Data ID 的完整規則格式如下
{prefix}-{spring.profiles.active}.{file-extension}
prefix是spring.application.name,這里為ruoyi-system,結合active=dev,配置DataID為ruoyi-system-dev.yml沒有問題。
后來發現是配置文件中,將數據庫配置寫到master下了,這是從其他一個多數據源工程中拷貝下來的。刪除master后可以正常訪問了。
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
druid:
url: jdbc:mysql://localhost:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: password
# 初始連接數
initialSize: 5
# 最小連接池數量
minIdle: 10
# 最大連接池數量
maxActive: 20
# 配置獲取連接等待超時的時間
maxWait: 60000
# 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一個連接在池中最小生存的時間,單位是毫秒
minEvictableIdleTimeMillis: 300000
# 配置一個連接在池中最大生存的時間,單位是毫秒
maxEvictableIdleTimeMillis: 900000
2、啟動時報Invalid bound statement (not found)
經查公共配置文件application-dev.yml將mybatis配置成了mybatis-plus
mybatis: mapper-locations: classpath*:/mapper/**/*Mapper.xml #實體掃描,多個package用逗號或者分號分隔 typeAliasesPackage: com.ruoyi.**.domain

3、認證中心啟動報錯
Failed to bind properties under 'spring.datasource.type' to java.lang.Class<javax.sql.DataSource>:
解決方法,添加依賴
<!--阿里數據庫連接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.4</version> </dependency>
4、登錄時登錄接口dev-api/auth/login報404 NOT_FOUND
啟動了RuoYiGatewayApplication、RuoYiAuthApplication、RuoYiSystemApplication三個服務,報404說明網關沒有注冊。
【解決方案】在網關工程的yml文件中添加
# 權限模塊
- id: ruoyi-auth uri: http://localhost:9200/ predicates: - Path=/auth/** filters: - StripPrefix=1

5、登錄接口dev-api/auth/login報“令牌不能為空”
Gateway有很多的全局過濾器GlobalFilter,若依自定義了一個全局過濾器AuthFilter
其中設置了過濾白名單。
# 不校驗白名單
ignore:
whites:
- /auth/logout
- /auth/login
- /*/v2/api-docs
- /csrf
寫到最外層就可以了,如圖。

作者:夜色001
鏈接:https://www.jianshu.com/p/3253732d02ac
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。