使用shadowJar和Scala依赖项时,如何修复丢失的conf文件?

使用shadowJar和Scala依赖项时,如何修复丢失的conf文件?,scala,gradle,dependency-management,typesafe-config,shadowjar,Scala,Gradle,Dependency Management,Typesafe Config,Shadowjar,为像我这样有未来问题的用户写这篇文章。基于Typesafe配置构建的库通常使用它们自己的reference.conf文件并引用某些配置键。使用GradleshadowJAR插件构建胖JAR时,不包括这些文件 当胖罐子试图运行时,Spray和Akka等依赖项会抛出错误。错误如下所示: Exception in thread "main" com.typesafe.config.ConfigException$Missing: No configuration setting found for k

为像我这样有未来问题的用户写这篇文章。基于Typesafe配置构建的库通常使用它们自己的
reference.conf
文件并引用某些配置键。使用Gradle
shadowJAR
插件构建胖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'

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

生成的修复程序是将以下内容添加到
build.gradle
文件中:

shadowJar {
  transform(com.github.jengelman.gradle.plugins.shadow.transformers.AppendingTransformer) {
    resource = 'reference.conf'
  }
}
在这里找到了解决方案:

简单地说:

  shadowJar {
    append('reference.conf')
  }