构建Fat JAR时不合并Typesafe应用程序和参考配置文件

问题描述 投票:0回答:1

我有一个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中抱怨的任何值,但是它只是抱怨另一个无法解析的变量。

scala akka akka-http typesafe typesafe-config
1个回答
0
投票

如果我使用sbt assembly而不是IntelliJ方式构建胖子罐,结果就可以了。

© www.soinside.com 2019 - 2024. All rights reserved.