springboot项目 使用java -jar 使用固定的application.yml 不适用jar包里面的配置

1、问题描述

当我们部署项目在服务器的时候,每次打jar包都要将配置换成服务器环境的配置。那样该来该去比较麻烦,现在我们采取单独配置的方式。在服务器配置好之后,每次打包都不需要关注配置的事情了。

如图使用箭头所指的配置

springboot项目 使用java -jar 使用固定的application.yml 不适用jar包里面的配置_第1张图片

2、演示

 nohup java -jar one-studio-0.0.1-SNAPSHOT.jar &

springboot项目 使用java -jar 使用固定的application.yml 不适用jar包里面的配置_第2张图片

 

springboot项目 使用java -jar 使用固定的application.yml 不适用jar包里面的配置_第3张图片

springboot项目 使用java -jar 使用固定的application.yml 不适用jar包里面的配置_第4张图片

 

3、项目源码解释

路径:private static final String DEFAULT_SEARCH_LOCATIONS = "classpath:/,classpath:/config/,file:./,file:./config/";

 

/**
 * {@link EnvironmentPostProcessor} that configures the context environment by loading
 * properties from well known file locations. By default properties will be loaded from
 * 'application.properties' and/or 'application.yml' files in the following locations:
 * 
    *
  • classpath:
  • *
  • file:./
  • *
  • classpath:config/
  • *
  • file:./config/:
  • *
*

* Alternative search locations and names can be specified using * {@link #setSearchLocations(String)} and {@link #setSearchNames(String)}. *

* Additional files will also be loaded based on active profiles. For example if a 'web' * profile is active 'application-web.properties' and 'application-web.yml' will be * considered. *

* The 'spring.config.name' property can be used to specify an alternative name to load * and the 'spring.config.location' property can be used to specify alternative search * locations or specific files. *

* * @author Dave Syer * @author Phillip Webb * @author Stephane Nicoll * @author Andy Wilkinson * @author Eddú Meléndez * @author Madhura Bhave */ public class ConfigFileApplicationListener implements EnvironmentPostProcessor, SmartApplicationListener, Ordered { private static final String DEFAULT_PROPERTIES = "defaultProperties"; // Note the order is from least to most specific (last one wins) private static final String DEFAULT_SEARCH_LOCATIONS = "classpath:/,classpath:/config/,file:./,file:./config/"; private static final String DEFAULT_NAMES = "application"; private static final Set NO_SEARCH_NAMES = Collections.singleton(null); /** * The "active profiles" property name. */ public static final String ACTIVE_PROFILES_PROPERTY = "spring.profiles.active"; /** * The "includes profiles" property name. */ public static final String INCLUDE_PROFILES_PROPERTY = "spring.profiles.include"; /** * The "config name" property name. */ public static final String CONFIG_NAME_PROPERTY = "spring.config.name"; /** * The "config location" property name. */ public static final String CONFIG_LOCATION_PROPERTY = "spring.config.location"; /** * The "config additional location" property name. */ public static final String CONFIG_ADDITIONAL_LOCATION_PROPERTY = "spring.config.additional-location"; /** * The default order for the processor. */ public static final int DEFAULT_ORDER = Ordered.HIGHEST_PRECEDENCE + 10; /** * Name of the application configuration {@link PropertySource}. */ public static final String APPLICATION_CONFIGURATION_PROPERTY_SOURCE_NAME = "applicationConfigurationProperties"; private final DeferredLog logger = new DeferredLog(); private String searchLocations; private String names; private int order = DEFAULT_ORDER;

 

你可能感兴趣的:(springboot)