将application.properties文件中的本地数据库源换成云服务器上数据库源时,再次启动发现出现如下错误:
Description:
Failed to configure a DataSource: 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).
检查一:
application.properties中的数据库相关配置是否有误
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://【ip】:【端口】/【数据库名】?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&useSSL=false
spring.datasource.username=***
spring.datasource.password=***
检查二:
pom.xml文件中是否有依赖冲突
比如引入了两个mysql驱动(plugin中的也算)
检查三:
可能是没有扫描到配置文件
在pom.xml -> build中加入:
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.yml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.yml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
还有一种可能是数据库版本和驱动版本不匹配 (我猜的:)
我的原因是因为有依赖冲突,但是我还是不能理解,为什么把localhost换成服务器ip才会出现冲突,之前用localhost一直没问题???