2013-12-03 2 views
2

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

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

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

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

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

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

Может ли кто-нибудь помочь?

Джеймс

ответ

2

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

packageArchetype.java_application 

exportJars := true 

+0

По состоянию на июль 2015 года этот ответ является устаревшим. Взгляните на документы для ['JavaAppPackaging'] (http://www.scala-sbt.org/sbt-native-packager/archetypes/java_app/) (или плагин' JDKPackager'), который автоматически собирает зависимости , – metasim