Как я могу исправить отсутствующие файлы conf при использовании зависимостей shadowJar и Scala?

Пишу это для пользователей, у которых есть проблемы в будущем, такие как я. Библиотеки, созданные на основе конфигурации Typesafe, обычно используют свои собственные файлы reference.conf и ссылаются на определенные ключи конфигурации. При создании большого JAR-файла с помощью плагина Gradle shadowJAR эти файлы не включаются.

Такие зависимости, как Spray и Akka, выдают ошибки, когда толстый JAR пытается запуститься. Ошибки выглядят так:

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'

Как это исправить? Проверьте ответ ниже.


person crockpotveggies    schedule 17.12.2015    source источник


Ответы (2)


В результате было добавлено следующее в файл 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

person crockpotveggies    schedule 17.12.2015

Просто:

  shadowJar {
    append('reference.conf')
  }

См. Управление слиянием содержимого JAR.

person rdesgroppes    schedule 25.02.2020