2015-10-20 92 views
13

我有一個分爲幾個模塊的Spring引導應用程序。 主模塊運行應用程序,並在資源文件夾中有一個application.properties文件。我想知道是否可以在子模塊中添加另一個屬性文件來分隔屬於該模塊的屬性以及如何使其工作(因爲它不是)。如何在spring-boot中添加多個application.properties文件?

+main_module 
    +src 
    +main 
     +java 
     +my/package/Application.java 
     +resources/application.properties 
+support_module 
    +src 
    +main 
     +java 
     +resources/application.properties 

所以,這是目前的情況。顯然,support_module模塊中的屬性文件沒有被讀取,導致NoSuchBeanDefinitionException,而如果我把其他屬性文件中的內容一切正常。

+0

您是否嘗試過使用maven模塊引入父pom.xml? – Gangaraju

+0

當然,我有一個家長pom –

回答

14

使用Maven或Gradle時,您正在嘗試執行的操作不起作用。原因是當創建工件(最有可能的原因是您使用的是Spring Boot)時,根文件中只有一個application.properties文件。

我建議你更改支持模塊上的屬性文件的名稱,然後配置Spring Boot以查找該文件(看看thisthis answer爲指針),或使用某種合併任務爲您構建工具(像this也許)

+0

第一個建議看起來很有趣。我如何指示Spring Boot來查找輔助模塊中的屬性? –

+0

@mat_boy查看我更新的答案請 – geoand

+0

@mat_boy你也應該看到[this](http://stackoverflow.com/a/30213550/2504224)SO線程 – geoand

0

您也可以使用spring.config.location環境屬性(目錄位置的逗號分隔的列表,或文件路徑)

$ java -jar myproject.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties 
是指明確的位置

欲瞭解更多信息click這裏

相關問題