【问题标题】:Typesafe Application and Reference Config Files not Merging When Building Fat JAR构建 Fat JAR 时类型安全应用程序和参考配置文件未合并
【发布时间】:2019-11-20 02:57:08
【问题描述】:

我有一个 sbt 应用程序,它将在通过 intellij 或使用 sbt run 的终端运行时运行。但是,当我创建一个胖 jar 以便能够将其部署到服务器时,我会收到各种 com.typesafe.config.ConfigException$UnresolvedSubstitution 错误。它们不是我的应用程序conf中用户定义的,它们都是在多个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】:

事实证明,如果我使用 sbt assembly 而不是 IntelliJ 方式构建了 fat jar,那么它就可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-06
    • 2020-04-24
    • 2013-07-30
    • 1970-01-01
    • 2019-08-10
    • 2018-10-26
    • 1970-01-01
    相关资源
    最近更新 更多