Maven SBT артефакты зависимости? - PullRequest
2 голосов
/ 13 марта 2011

Я управляю своим проектом, используя Maven и SBT одновременно. Причины этого:

  1. Intellij IDEA не может импортировать SBT проект. (плагин idea-sbt не работают очень хорошо)
  2. Я не знаю, как можно получить источники и Javadocs из SBT. (Я хотел бы увидеть какие-либо ответы по этому поводу)

Проблема в том, что я не знаю, как позволить Maven загружать зависимость SBT. Я ищу в репозитории maven и ничего не могу найти в sbt. Я хочу использовать Maven или SBT для управления всеми банками в моем проекте.

Ответы [ 2 ]

5 голосов
/ 13 марта 2011

Плагин idea-sbt отлично работает для меня с IDEA 10 - все, что он на самом деле намеревался сделать, это открыть оболочку SBT в IDE, и это делает это достаточно хорошо.

Плагин, на который вы должны обратить внимание, если выВы заинтересованы в том, чтобы получить Maven из вашей сборки - плагин sbt-idea (https://github.com/mpeltonen/sbt-idea).Это отличный плагин, который генерирует файлы IDEA из проекта SBT.Это не может быть проще в использовании.В командной строке SBT выполните следующие команды:

*sbtIdeaRepo at http://mpeltonen.github.com/maven/
*idea is com.github.mpeltonen sbt-idea-processor 0.3.0
update
idea

Обратите внимание на звездочки - они должны быть включены.

На этом этапе вы можете открыть свой проект в IDEA.Он не будет жаловаться на зависимости SBT.Каждый раз, когда вы добавляете новые зависимости в файл проекта, просто снова введите команду idea, чтобы сообщить об этом IDEA.Я делаю это в окне SBT, предоставленном idea-sbt.

Что касается получения источников и документов с зависимостями, вы можете сделать что-то вроде этого (из SBT docs ):

val sc = "org.scalacheck" % "scalacheck" % "1.5" withSources()

Существует соответствующий метод withJavadoc ().Надеюсь, это поможет.

5 голосов
/ 13 марта 2011
  • Если вы поместите pom.xml в корень вашего проекта, он будет распознан SBT.Когда вы не указываете управляемые зависимости в определении проекта, SBT полагается на зависимости Maven.

    Как сказано в SBT doumentation ,

sbt выполняет эту обработку зависимостей при выполнении действия обновления.По умолчанию sbt не обновляет ваши зависимости перед каждой компиляцией, а делает это только при выполнении обновления.sbt поддерживает три способа задания этих зависимостей:

* Declarations in your project definition
* Maven POM files
* Ivy configuration and settings files
  • На данный момент Maven ничего не знает о SBT (по крайней мере, я пока не слышал о каких-либо плагинах), поэтомулучшее, что вы можете сделать, чтобы управлять своим проектом как в Maven, так и в SBT, - это генерировать POM через SBT.См. Конвертер SBT в Maven для получения более подробной информации.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...