使用 spring 配置服务器中定义的不同数据库配置文件将应用程序启动到客户端 spring 启动项目时出错
Error in Launching application with different DB profile defined in the spring config server into client spring boot project
我正在尝试为两个不同的区域开发微服务和部署。两个不同的区域使用两个不同的数据库。因此,为了使用它,我创建了一个 spring 云配置服务器并为两个不同的配置文件定义了数据库 属性,
这是我的 spring 云配置服务器项目详细信息,在 src/main/resources 中创建了配置文件夹并添加了两个文件,
bootstrap-vcu.properties 文件包含,
spring.datasource.driverClassName=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost/milleTech_users
spring.datasource.username=postgres
spring.datasource.password=postgresql
bootstrap-sp.properties 文件包含,
spring.datasource.driverClassName=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost/espace
spring.datasource.username=postgres
spring.datasource.password=postgresql
Application.properties包含,
server.port=8888
spring.profiles.active=native
Bootstrap.properties
spring.cloud.config.uri=localhost:8888
配置服务器的文件夹结构如下,
还有我的pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
并为 spring 云配置客户端创建了单独的项目,
配置客户端项目 application.properties 文件就像,
server.port=8080
spring.cloud.config.uri=localhost:8888
并启动客户端应用程序,例如,
java -jar -Dsping.profiles.active=vcu ConfigClient-0.0.1-SNAPSHOT.war
但是出现错误
"Failed to auto-configure a DataSource: 'spring.datasource.url' is not
specified and no embedded datasource could be auto-configured"
原因:无法确定合适的驱动程序class
尝试将 DbVcu.properties 重命名为 application-DbVcu.properties 并将其移动到 src/main/ressources 文件夹。
我正在尝试为两个不同的区域开发微服务和部署。两个不同的区域使用两个不同的数据库。因此,为了使用它,我创建了一个 spring 云配置服务器并为两个不同的配置文件定义了数据库 属性,
这是我的 spring 云配置服务器项目详细信息,在 src/main/resources 中创建了配置文件夹并添加了两个文件,
bootstrap-vcu.properties 文件包含,
spring.datasource.driverClassName=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost/milleTech_users
spring.datasource.username=postgres
spring.datasource.password=postgresql
bootstrap-sp.properties 文件包含,
spring.datasource.driverClassName=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost/espace
spring.datasource.username=postgres
spring.datasource.password=postgresql
Application.properties包含,
server.port=8888
spring.profiles.active=native
Bootstrap.properties
spring.cloud.config.uri=localhost:8888
配置服务器的文件夹结构如下,
还有我的pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
并为 spring 云配置客户端创建了单独的项目,
配置客户端项目 application.properties 文件就像,
server.port=8080
spring.cloud.config.uri=localhost:8888
并启动客户端应用程序,例如,
java -jar -Dsping.profiles.active=vcu ConfigClient-0.0.1-SNAPSHOT.war
但是出现错误
"Failed to auto-configure a DataSource: 'spring.datasource.url' is not
specified and no embedded datasource could be auto-configured"
原因:无法确定合适的驱动程序class
尝试将 DbVcu.properties 重命名为 application-DbVcu.properties 并将其移动到 src/main/ressources 文件夹。