使用 shadowJar 和 Scala 依赖项时如何修复丢失的 conf 文件?
How can I fix missing conf files when using shadowJar and Scala dependencies?
写这篇文章是为了像我一样有未来问题的用户。基于 Typesafe 配置构建的库通常使用它们自己的 reference.conf
文件并引用某些配置键。使用 Gradle shadowJAR
插件构建胖 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'
如何解决这个问题?检查下面的答案。
最终的修复是将以下内容添加到 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
简单地说:
shadowJar {
append('reference.conf')
}
写这篇文章是为了像我一样有未来问题的用户。基于 Typesafe 配置构建的库通常使用它们自己的 reference.conf
文件并引用某些配置键。使用 Gradle shadowJAR
插件构建胖 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'
如何解决这个问题?检查下面的答案。
最终的修复是将以下内容添加到 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
简单地说:
shadowJar {
append('reference.conf')
}