Что означает документация по сборке sbt под термином «уже является частью контейнера»?

#scala #apache-spark #jar #sbt #sbt-assembly

#scala #apache-spark #jar #sbt #sbt-assembly

Вопрос:

Я сталкиваюсь с ошибкой дедупликации в сборке sbt при попытке упаковать мое многопроектное задание spark. Я посмотрел в документации по сборке sbt, и там говорится

Если вы пытаетесь исключить файлы JAR, которые уже являются частью контейнера (например, Spark), рассмотрите возможность ограничения зависимой библиотеки конфигурацией «при условии»:

Но что они подразумевают под «уже частью контейнера»? Я скопировал полную ссылку ниже.

https://github.com/sbt/sbt-assembly#excluding-jars-and-files

Ответ №1:

Это означает, что конкретный целевой узел (контейнер, подобный Spark) уже имеет все необходимые jar-файлы и нет необходимости включать те же jar-файлы в сборку.

Это значение предоставленной области видимости, т. Е. определенная библиотека предоставляется в рабочей среде и, следовательно, не включайте ее в окончательный jar, просто сделайте ссылку на нее.