我有一个Scala脚本,我想从sbt调用。此Scala脚本引用了一些依赖项。其中一个依赖项使用属性文件。此属性文件由运行时提供,因为此依赖项作为单独的应用程序运行。
为了有可能将该属性 - 使用依赖项作为独立运行,我编写了这个我想从sbt调用的Scala脚本。
val fis = new FileInputStream("my.properties") // Fails here
val props = new Properties()
当我运行上面的代码时,它失败了,在我的依赖项中加载了属性文件的异常。
如何在sbt?
下为脚本提供此属性文件答案 0 :(得分:0)
将文件my.properties
放在src/main/resources
中并使用Source.fromURL(getClass.getResource("/my.properties"))
代替(因为它为您提供了更大的灵活性,可以将文件放在文件系统上,只要它在CLASSPATH上)。
作为帮助程序,使用以下代码了解正在使用“裸”File*
类型时文件所在的位置:
println(new java.io.File("my.properties").getAbsolutePath)
由于当前工作目录是项目的顶级目录,因此将在$PROJECT_ROOT_DIR/my.properties
中搜索该文件。