我有一个sbt应用程序,该应用程序将在通过intellij或使用sbt run的终端运行时运行。但是,当我创建一个胖jar以便将其部署到服务器时,会遇到各种com.typesafe.config.ConfigException$UnresolvedSubstitution
错误。它们不是我的应用程序配置文件中的用户定义文件,而是所有在多个akka conf文件中定义的文件。
我尝试使用以下方法合并它们:
val config = ConfigFactory.load(getClass().getClassLoader())
private lazy val userConfig = ConfigFactory.parseResources("application.conf")
val config = userConfig.resolve()
mergeStrategy in assembly := {
case PathList("reference.conf") => MergeStrategy.concat
case "reference.conf" => MergeStrategy.concat
case "application.conf" => MergeStrategy.concat
case x if x.contains("akka\\http\\") => MergeStrategy.concat
case x if x.contains("akka/http/") => MergeStrategy.concat
我也尝试过硬编码它在application.conf中抱怨的任何值,但是它只是抱怨另一个无法解析的变量。
如果我使用sbt assembly
而不是IntelliJ方式构建胖子罐,结果就可以了。