SBT Native Packager — как получить библиотечные зависимости и сохранить их как часть пакета?

Недавно я обнаружил плагин SBT Native Packager, который, как я думал, поможет решить все мои проблемы с упаковкой и развертыванием. На первый взгляд, похоже, что так и должно быть, однако у меня есть проблема, которую я бы предположил, что это довольно простой вопрос; Я хочу иметь возможность копировать все управляемые зависимости из моего проекта в каталог lib моего пакета для развертывания.

Я внимательно прочитал документы, но, похоже, нет очевидного способа сделать это.

Там есть несколько инструкций, которые объясняют, как скопировать артефакт из проекта:

mappings in Universal <+= (packageBin in Compile) map { jar =>
  jar -> ("lib/" + jar.getName)
}

но я хочу иметь возможность сделать то же самое для управляемых зависимостей.

Я что-то пропустил? Я прочитал большинство документов sbt по управляемым зависимостям, и это тоже не дало мне ответа. Я мог бы, конечно, использовать retrieveManaged := true для загрузки в директорию lib_managed и получить оттуда, но это похоже на хак.

Кто-нибудь может помочь?

Джеймс


person James K    schedule 03.12.2013    source источник


Ответы (1)


Я искал решение той же проблемы и, наконец, обнаружил, что добавление следующего в мой файл build.sbt помогло, даже если ваше приложение находится в scala:

packageArchetype.java_application

exportJars := true

sbt sbt-native-packager scala

person ifrain    schedule 03.02.2014
comment
По состоянию на июль 2015 года этот ответ устарел. Ознакомьтесь с документацией для JavaAppPackaging (или JDKPackager plugin), которые автоматически собирают зависимости. - person metasim; 28.07.2015