簡體   English   中英

Scala SBT項目應用程序配置文件

[英]Scala SBT Project Application Configuration File

我來自C#.NET世界,當我構建我的Scala項目時,我注意到在開源社區中有多少不同的方法可以做。 無論如何在.Net C#項目中我們有Web.configApp.config文件,它對於指定全局使用的應用程序密鑰非常有用,它對於不同環境等的轉換也很有幫助。

什么是Scala SBT項目的等價物? 您知道存儲連接字符串和其他應用程序設置的位置嗎?

我想你在談論application.conf 它可以在/src/main/resources/src/test/resources (分別影響main和test設置)。 如果/src/test/resources不存在application.conf ,則主application.conf將用於測試。

沒有通用配置文件名。 基本方法是使用Properties ,參見例如如何在scala中讀取屬性文件 ,並調用文件your-application-name.properties 但是有一個名為Config的流行圖書館,我推薦它; https://github.com/typesafehub/config#standard-behavior所說,它的配置文件的標准名稱是

便捷方法ConfigFactory.load()加載以下內容(首先列出的是更高優先級):

  • 系統屬性
  • application.conf(具有此名稱的classpath上的所有資源)
  • application.json(具有此名稱的classpath上的所有資源)
  • application.properties(具有此名稱的classpath上的所有資源)
  • reference.conf(具有此名稱的classpath上的所有資源)

我們的想法是庫和框架應該在他們的jar中附帶reference.conf。 應用程序應該提供application.conf,或者如果他們想在單個JVM中創建多個配置,他們可以使用ConfigFactory.load(“myapp”)來加載他們自己的myapp.conf。 (如果需要,應用程序也可以提供reference.conf,但您可能沒有必要將它與application.conf分開。)

正如@ ashalynd的回答所說,為了讓任何這樣的庫看到你的配置文件,他們應該進入src/{main,test}/resources

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM