Я хочу настроить несколько профилей для своего spring_cloud_config_server.
Вот мой файл yml:
server:
port: "2000"
spring:
profiles:
active: native
application:
name: config-server
cloud:
config:
server:
native:
search-locations: file:///opt/app/configuration
eureka:
client:
service-url:
defaultZone: http://localhost:8260/eureka
logging:
level:
org:
springframework: INFO
---
spring:
profiles: docker
application:
name: config-server
cloud:
config:
server:
native:
search-locations: file:/opt/app/configuration
server:
port: "2000"
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:8260/eureka
logging:
level:
org:
springframework: INFO
Когда я запускаю приложение, используя "собственный" профиль, используя следующую команду
java -jar app.jar
или
java -jar -Dspring.profiles.active=native app.jar
Приложение работает хорошо.Когда я запускаю приложение, используя профиль «docker», используя следующую команду
java -jar -Dspring.profiles.active=docker app.jar
Приложение закрывается с исключением:
ERROR o.s.b.w.e.tomcat.TomcatStarter - Error starting Tomcat context. Exception: org.springframework.beans.factory.BeanCreationException. Message: Error creating bean with name 'servletEndpointRegistrar' defined in class path resource [org/springframework/boot/actuate/autoconfigure/endpoint/web/ServletEndpointManagementContextConfiguration$WebMvcServletEndpointManagementContextConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar]: Factory method 'servletEndpointRegistrar' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'healthEndpoint' defined in class path resource [org/springframework/boot/actuate/autoconfigure/health/HealthEndpointConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.actuate.health.HealthEndpoint]: Factory method 'healthEndpoint' threw exception; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'configServerHealthIndicator' defined in class path resource [org/springframework/cloud/config/server/config/EnvironmentRepositoryConfiguration.class]: Unsatisfied dependency expressed through method 'configServerHealthIndicator' parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.cloud.config.server.config.CompositeConfiguration': Unsatisfied dependency expressed through method 'setEnvironmentRepos' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'defaultEnvironmentRepository' defined in class path resource [org/springframework/cloud/config/server/config/DefaultRepositoryConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: You need to configure a uri for the git repository.
Основная причина:
Exception: You need to configure a uri for the git repository.
Правильно ли мой файл yml для двух профилей?Я что-то пропустил, чтобы он работал для обоих профилей?