2014-10-08 24 views
1

我有一個Scala腳本,我想從sbt調用。這個Scala腳本引用了一些依賴關係。其中一個依賴項使用屬性文件。此屬性文件由運行時提供,因爲此依賴項作爲單獨的應用程序運行。如何使屬性文件可用於Scala腳本中的FileInputStream?

只要有可能將該屬性使用依賴項作爲獨立運行,我寫了這個我想從sbt調用的Scala腳本。

val fis = new FileInputStream("my.properties") // Fails here 
val props = new Properties() 

當我運行上面的代碼時,它會失敗,並在加載屬性文件的依賴項中發生異常。

如何使這個屬性文件可用於sbt下的腳本?

回答

0

,將文件my.propertiessrc/main/resources和使用Source.fromURL(getClass.getResource("/my.properties"))而不是(因爲它給你的,你可以,只要它是在CLASSPATH放置在文件系統上的文件更多的靈活性)。

作爲幫手,使用下面的代碼來了解該文件預計將在地方,當一個「裸」 File*類型正在使用中:

println(new java.io.File("my.properties").getAbsolutePath) 

由於當前工作目錄是頂級一個項目的目錄,在$PROJECT_ROOT_DIR/my.properties中搜索該文件。

相關問題