Глядя на файл HBase POM , Thrift находится в репо на http://people.apache.org/~rawson/repo.. Вы можете добавить это в свой проект, и он должен найти Thrift. Я думал, что SBT понял бы это, но это пересечение SBT, Айви и Мэйвена, так что кто действительно может сказать, что на самом деле должно произойти .
Если вам действительно не нужен Thrift, вы можете исключить зависимости, используя встроенный Ivy XML, как описано в вики SBT .
override def ivyXML =
<dependencies>
<exclude module="thrift"/>
</dependencies>
Re: сброс jar в директорию lib, это будет краткосрочная выгода, долгосрочная потеря. Это, конечно, более целесообразно, и если это какое-то доказательство концепции, которую вы выбрасываете на следующей неделе, обязательно бросьте банку и забудьте об этом. Но для любого проекта, срок службы которого превышает пару месяцев, стоит потратить время на правильное управление зависимостями.
Хотя все эти инструменты имеют свои проблемы, преимущества:
- Анализ зависимостей может сказать вам, когда ваши прямые зависимости имеют конфликтующие переходные зависимости. До появления этих инструментов это обычно приводило к странному поведению во время выполнения или к методу, в котором не найдено исключений.
- Обновления очень просты. Просто измените номер версии, обновите, и все готово.
- Это избавляет от необходимости фиксировать двоичные файлы для контроля версий. Они могут быть проблематичными, когда приходит время объединять ветви.
- Если у вас нет явной политики в отношении версии двоичных файлов в каталоге lib, легко потерять отслеживание того, какие версии у вас есть.