Spring boot 在linux中将spring boot应用程序部署为服务时,如何动态传递或指定application.yml?
下面的文档详细介绍了在linux中部署spring boot应用程序作为服务的选项- 但是在这里,我没有看到如何在机器上指定customapplication.yml的选项。i、 e我想维护一个application.yml,其中包含机器中的所有凭据和其他详细信息,并在我调用“service myApp start”时将其传递给服务 正如文档中提到的,我将运行 $sudo ln-s/var/myapp/myapp.jar/etc/init.d/myapp $service myapp start 并检查如何在此传递application.yml路径 请提供这方面的投入Spring boot 在linux中将spring boot应用程序部署为服务时,如何动态传递或指定application.yml?,spring-boot,Spring Boot,下面的文档详细介绍了在linux中部署spring boot应用程序作为服务的选项- 但是在这里,我没有看到如何在机器上指定customapplication.yml的选项。i、 e我想维护一个application.yml,其中包含机器中的所有凭据和其他详细信息,并在我调用“service myApp start”时将其传递给服务 正如文档中提到的,我将运行 $sudo ln-s/var/myapp/myapp.jar/etc/init.d/myapp $service myapp start
谢谢 Spring boot还可以从外部文件读取配置 在服务的“启动”脚本中使用:
--spring.config.location=
例如:
java -jar myproject.jar --spring.config.location=file:/application.yml
Spring boot还可以从外部文件读取配置 在服务的“启动”脚本中使用:
--spring.config.location=
例如:
java -jar myproject.jar --spring.config.location=file:/application.yml
有几个选项可供选择如何实施: 1.将配置文件的路径指定为spring属性 java-jar myproject.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties 2.将propertyConfigurer bean与环境变量一起用作配置文件名的一部分:
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:META-INF/spring/common_configuration.properties</value>
<value>classpath:META-INF/spring/configuration-${ENVIRONMENT_NAME}.properties</value>
<value>classpath:META-INF/spring/database-${ENVIRONMENT_NAME}.properties</value>
</list>
</property>
<property name="ignoreResourceNotFound" value="true"/>
<property name="searchSystemEnvironment" value="true"/>
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
</bean>
类路径:META-INF/spring/common_configuration.properties
类路径:META-INF/spring/configuration-${ENVIRONMENT\u NAME}.properties
类路径:META-INF/spring/database-${ENVIRONMENT\u NAME}.properties
3.概况
使用标准文件名和配置位置,配置文件变量作为名称的一部分
application-dev.properties
application-prod.properties
应用程序测试属性
以及在启动应用程序时设置配置文件
--spring.profiles.active=dev,prod
有几个选项可供选择如何实施: 1.将配置文件的路径指定为spring属性 java-jar myproject.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties 2.将propertyConfigurer bean与环境变量一起用作配置文件名的一部分:
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:META-INF/spring/common_configuration.properties</value>
<value>classpath:META-INF/spring/configuration-${ENVIRONMENT_NAME}.properties</value>
<value>classpath:META-INF/spring/database-${ENVIRONMENT_NAME}.properties</value>
</list>
</property>
<property name="ignoreResourceNotFound" value="true"/>
<property name="searchSystemEnvironment" value="true"/>
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
</bean>
类路径:META-INF/spring/common_configuration.properties
类路径:META-INF/spring/configuration-${ENVIRONMENT\u NAME}.properties
类路径:META-INF/spring/database-${ENVIRONMENT\u NAME}.properties
3.概况
使用标准文件名和配置位置,配置文件变量作为名称的一部分
application-dev.properties
application-prod.properties
应用程序测试属性
以及在启动应用程序时设置配置文件
--spring.profiles.active=dev,prod