2014-10-08 89 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中搜索该文件。

相关问题