Цель состоит в том, чтобы иметь dev
и prod
среды. Для локального запуска использовать application-dev.yml
и для развертывания на сервере использовать application-prod.yml
У меня есть 3 файла конфигурации
application.yml
spring:
main:
banner-mode: off
application-dev.yml
spring:
datasource:
password: dev-user-pwd
username: dev-user
url: jdbc:mysql://localhost:3306/db
driver-class-name: com.mysql.cj.jdbc.Driver
application-prod.yml
spring:
datasource:
password: prod-user-pwd
username: prod-user
url: jdbc:mysql://localhost:3306/db
driver-class-name: com.mysql.cj.jdbc.Driver
На сервере я maven
установлен и пытается запустить
mvn clean package -Dspring.profiles.active=prod
Вот журнал ошибок, который я получаю
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 10.966 s <<< FAILURE! - in com.partplug.api.ApiApplicationTests
contextLoads Time elapsed: 0.005 s <<< ERROR!
java.lang.IllegalStateException: Failed to load ApplicationContext
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration$EnableWebMvcConfiguration': Unsatisfied dependency expressed through method 'setConfigurers' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.data.web.config.SpringDataWebConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.NoClassDefFoundError: org/xmlbeam/config/XMLFactoriesConfig
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.data.web.config.SpringDataWebConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.NoClassDefFoundError: org/xmlbeam/config/XMLFactoriesConfig
Caused by: java.lang.NoClassDefFoundError: org/xmlbeam/config/XMLFactoriesConfig
Caused by: java.lang.ClassNotFoundException: org.xmlbeam.config.XMLFactoriesConfig
Вкратце: ошибка говорит о том, что , источник данных и все подчиненные свойства не определены. То есть maven packager не меняет активный профиль на prod.
Что я делаю не так?