#gradle #jvm-arguments
Вопрос:
У меня есть заявление.файл yml:
spring:
datasource:
driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://localhost:5432/my_db
username: my_user
password: password123
Я хочу изменить этот файл и вставить значения с помощью параметров виртуальной машины:
spring:
datasource:
driver-class-name: org.postgresql.Driver
url: ${dbUrl:jdbc:postgresql://localhost:5432/my_db}
username: ${dbUser:my_user}
password: ${dbPassword:password123}
С определением этих переменных с помощью параметров виртуальной машины:
gradle test --stacktrace -DdbUrl=jdbc:postgresql://postgres-master:5432/another_db
-DdbUser=another_user
-DdbPassword=password456
Я ожидаю, что, когда будут доступны эти параметры виртуальной машины, он заменит значения в файле application.yml. Но, как показывают журналы, задача gradle не находит или не распознает эти параметры и не работает с трассировкой стека:
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException at ConstructorResolver.java:800
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException at ConstructorResolver.java:800
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException at ConstructorResolver.java:800
Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1786
Caused by: org.flywaydb.core.internal.exception.FlywaySqlException at JdbcUtils.java:68
Caused by: org.postgresql.util.PSQLException at ConnectionFactoryImpl.java:303
Caused by: java.net.ConnectException at PlainSocketImpl.java:-2
Как добавить значения в приложение.yml с запущенной задачей gradle?