springboot程式設計式指定預設的application.properties檔案路徑
阿新 • • 發佈:2019-02-07
解決方案一:程式設計式指定
Properties defaultProperties = new Properties(); InputStream in; try { in = new FileInputStream("E:/conf/application.properties"); defaultProperties.load(in); in.close(); } catch (IOException e) { e.printStackTrace(); } SpringApplication app = new SpringApplication(EurakaApp.class); app.setDefaultProperties(defaultProperties);
特別注意:
這種方法無法載入yml檔案,看原始碼可以發現 defaultProperties.load方法是基於自定義的LineReader實現的,不支援yml檔案這種格式,不過也可以使用線上的工具類將yml檔案轉換為properties
解決方案二:啟動時指定
java -jar vPaas.jar --spring.config.location=/home/springboot/config/application.yml
注:這種方式是可以成功讀取yml檔案的
其他
@PropertySources({@PropertySource("file:E:/conf/jdbcConfig.properties")})
這個@PropertySources註解也可以用來載入配置,但是這種方式不能用來載入application檔案,只能載入其他的配置