我對每個配置文件都有單獨的彈簧yaml配置文件。如何從java獲取彈簧配置文件名稱
我需要從CommandLineRunner
後代類讀取配置文件並執行相應的腳本。
有沒有辦法從java獲取環境配置文件名?
我已經試過這樣:
environment.getActiveProfiles();
但它只返回一個空字符串數組。
我對每個配置文件都有單獨的彈簧yaml配置文件。如何從java獲取彈簧配置文件名稱
我需要從CommandLineRunner
後代類讀取配置文件並執行相應的腳本。
有沒有辦法從java獲取環境配置文件名?
我已經試過這樣:
environment.getActiveProfiles();
但它只返回一個空字符串數組。
environment.getProperty("spring.profiles.active")
獲取活動配置文件。這種方法
private static final String SPRING_PROFILES_ACTIVE = "SPRING_PROFILES_ACTIVE";
protected void setSpringProfile(ServletContext servletContext) {
if(null!= System.getenv(SPRING_PROFILES_ACTIVE)){
profile=System.getenv(SPRING_PROFILES_ACTIVE);
}else if(null!= System.getProperty(SPRING_PROFILES_ACTIVE)){
profile=System.getProperty(SPRING_PROFILES_ACTIVE);
}else{
profile="local";
}
log.info("***** Profile set ---> "+ profile);
}
我同時使用System.getenv和System.getProperty因爲我已經觀察到,在我的本地系統System.getProperty的工作,但在我的搬運工集裝箱系統爲我工作得很好。 getenv()工作。
另外,如果沒有設置任何設置,我默認配置文件爲「本地」配置文件。