Scala Sbt程序集在JAR中包含Conf文件
我正在使用sbt汇编插件创建一个JAR文件,我有以下文件夹结构:Scala Sbt程序集在JAR中包含Conf文件,scala,jar,sbt-assembly,Scala,Jar,Sbt Assembly,我正在使用sbt汇编插件创建一个JAR文件,我有以下文件夹结构: src -main -scala -resources -application.conf 现在,当我 sbt clean assembly 我可以在生成的Jar文件中看到application.conf文件包含在内。我有两个问题: 为什么inluded application.conf不在最终Jar的resources文件夹中,而是在顶层,如下所示(Jar的内容) 如何通过设置System.propert
src
-main
-scala
-resources
-application.conf
现在,当我
sbt clean assembly
我可以在生成的Jar文件中看到application.conf文件包含在内。我有两个问题:
System.setProperty(“config.file”、“application.default.conf”)
val someConfigFile = Option(System.getProperty("config.file"))
ConfigFactory.parseURL(getClass.getResource(someConfigFile.get)) // NullPointerException happens here...
下面是我需要做的事情,以便可以根据我从外部指定的内容加载jar中的配置文件
val is = new InputStreamReader(getClass.getResourceAsStream(s"/$cfgFile"))
ConfigFactory.parseReader(is).resolve()
第一个问题的答案是资源文件夹类似于src文件夹,因此复制的是内容,而不是文件夹本身
val is = new InputStreamReader(getClass.getResourceAsStream(s"/$cfgFile"))
ConfigFactory.parseReader(is).resolve()