#spring-boot #spring-cloud
Вопрос:
У меня возникла проблема с конфигурацией spring cloud 2020.0.3, spring boot 2.4.5 для получения дополнительной информации:
- Файл конфигурации Yaml соответствует многопрофильным документам YAML
- У меня есть конфигурационный файл yaml на сервере конфигурации.
my_cofig.yaml
spring:
datasource:
url: "jdbc:mariadb://localhost:3306/default_db"
driver-class-name: org.mariadb.jdbc.Driver
username: my_db
password: 12345
---
spring:
profiles: dev
datasource:
url: "jdbc:mariadb://localhost:3306/dev_db"
- Я загрузил конфигурацию с сервера конфигурации через браузер, это правильно.
Но: - Когда я запускаю приложение Spring с определенной конфигурацией (например, dev), приложение Spring не должно применять глобальные переменные конфигурации, определенные в файле конфигурации с сервера конфигурации. Он загружает только переменные конфигурации разработчика.
бутстрап.yaml
server:
port: 8081
spring:
application:
name: auth-service
cloud:
config:
enabled: true
fail-fast: true
allow-override: true
profile: dev
uri: http://localhost:5000
Подробная информация об ошибке:
Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set
Пожалуйста, помогите мне, большое спасибо!
Комментарии:
1. здесь не видно, но вы добавили пробелы
profiles
? yaml довольно драматично относится к пробелам и вкладкам2. Спасибо за ваш комментарий, yaml в правильном формате!
3. Что говорит /привод/env? Какая версия spring boot?
4. Я использую версию загрузки spring: 2.4.5. Журнал консоли: Вызвано: org.hibernate. Исключение HibernateException: Доступ к DialectResolutionInfo не может быть равен нулю, если «hibernate.dialect» не установлен
Ответ №1:
spring:
profiles:
Этого не существует (если я не ошибаюсь, оно было устаревшим). Пожалуйста, ознакомьтесь со справочной документацией.
Я считаю, что то, что вы ищете, — это следующее (справочная документация).:
spring:
datasource:
url: "jdbc:mariadb://localhost:3306/default_db"
driver-class-name: org.mariadb.jdbc.Driver
username: my_db
password: 12345
---
spring:
config:
activate:
on-profile: dev
datasource:
url: "jdbc:mariadb://localhost:3306/dev_db"
Комментарии:
1. Спасибо за ваш комментарий, я следую многопрофильным документам YAML , чтобы составить файл конфигурации yaml. Я попробовал ваше решение, но оно все еще не работает.
Ответ №2:
Наконец, я решил проблему, обновив версию spring boot до 2.5.1, Спасибо всем
Комментарии:
1. Если это так, не забудьте принять свой ответ как правильный, чтобы вопрос был представлен как «ответ» 😉