12

为像我这样有未来问题的用户写这篇文章。基于 Typesafe 配置构建的库通常使用自己的reference.conf文件并引用某些配置键。使用 GradleshadowJAR插件构建胖 JAR 时,不包括这些文件。

当胖 JAR 尝试运行时,Spray 和 Akka 等依赖项会引发错误。错误看起来像:

Exception in thread "main" com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'spray'
Exception in thread "main" com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'akka'

如何解决这个问题?检查下面的答案。

4

2 回答 2

23

最终的修复是将以下内容添加到build.gradle文件中:

shadowJar {
  transform(com.github.jengelman.gradle.plugins.shadow.transformers.AppendingTransformer) {
    resource = 'reference.conf'
  }
}

解决方案在这里找到:http: //www.sureshpw.com/2015/10/building-akka-bundle-with-all.html

于 2015-12-17T03:32:50.440 回答
1

简单地:

  shadowJar {
    append('reference.conf')
  }

请参阅控制 JAR 内容合并

于 2020-02-25T17:56:15.363 回答