2016-09-01 29 views
0

我正在使用spring引導,並且在我的項目中添加了另一個作爲Maven依賴項的spring引導應用程序。我面臨的問題是,當我運行應用程序時,它會選擇依賴項的屬性文件而不是我當前的應用程序。例如,如果我使用dev配置文件運行應用程序,application-dev.property文件是從依賴項中選取的,而不是正在運行的應用程序。 我試圖調試EnableEncryptablePropertySourcesPostProcessor文件,下面是摘取的屬性文件列表的屏幕截圖。從依賴而不是應用程序啓動拾取屬性文件

enter image description here

回答

1

檢查this out但你有幾個選擇:

  1. 只需指定配置文件名:

    Java的罐子myproject.jar --spring.config.name = myproject

基本上,你可以有myproject- dev.properties

  • 或者直接指定配置文件,你想導入:

    Java的罐子myproject.jar --spring.config.location =類路徑:/默認。屬性,類路徑:/override.properties

  • +0

    我在SpringBootApplication類的主要方法中添加了'System.setProperty(」spring.config.name「,」application-newName「);並重命名了屬性文件,並且它正常工作:) –

    1

    使用PropertySource註釋參考如下圖所示

    @PropertySource(value = { "file:/path/to/folder/file.properties" }) 
    
    屬性在你的主應用程序文件的文件

    如果您在多個屬性相同的屬性文件,然後一個在classpath中會得到更多的偏好

    +0

    This頁面可能是有用的,因爲我不確定最後一條語句是否完全準確。它包含解決屬性的順序。 https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html – wsams

    0

    **在Application.java文件,它應該是這樣的

    @PropertySource(「類路徑:應用.properties「)

    相關問題