Sbt-native-packager создает два разных пакета на двух разных машинах - PullRequest
0 голосов
/ 16 октября 2019

Я собираю пакет debian из проекта scala с помощью плагина sbt-native-packager. Пакет, созданный локально (macos) из командной строки, имеет другой размер и, конечно, md5sum, чем тот, который я создаю в jenkins (debian), используя ту же команду sbt:

sbt debian:packageBin

Также пакет debian, созданный jenkins, выдаетошибка при использовании включенного jar, например, некоторые классы не были включены:

ERROR org.apache.spark.deploy.yarn.ApplicationMaster - User class threw exception: java.lang.NoClassDefFoundError: shadeshapless/Generic
java.lang.NoClassDefFoundError: shadeshapless/Generic

Я подумал, что нужно что-то делать с именами классов в среде debian, поэтому добавил опцию компилятора:

scalacOptions ++= Seq("-Xmax-classfile-name","255")

Я ожидаю, что один и тот же пакет Debian будет производиться в локальной среде и среде jenkins.

1 Ответ

0 голосов
/ 06 ноября 2019

Полученный пакет всегда будет зависеть от компьютера, поскольку версия встроенного средства сборки, в вашем случае deb-pkg, влияет на способ создания пакета. Иногда плагин генерирует код, который может иметь временные метки, которые меняются, что приводит к разным выводам.

Сказав это. Лично я столкнулся с этой проблемой файла классов с бесформенным затенением, сборкой sbt и образами докера. Это, однако, не имеет ничего общего с упаковкой.

Cheers, Muki

...