Как создать проект SBT с помощью IntelliJ Idea?



Я только начал с разработки Scala/LiftWeb/Sbt, и я хотел бы импортировать проект Sbt в IntelliJ Idea.
На самом деле, мне удалось импортировать мой проект двумя разными способами:



1) с Maven. Я создал проект Maven, и в довершение всего я создал проект Sbt, который я затем импортировал в IntelliJ. Тогда я мог бы легко начать, остановить сервер причала и сделать другие вещи.
Но это не то, чего я хочу. Я хочу делать то же самое, только без Maven.
Это привело меня к



2) с Eclipse. Итак, я создал новый проект Sbt (с небольшим скриптом, который я написал, настроив проект Sbt как веб-проект). Затем я использовал плагин sbt-eclipsify для "преобразования" проекта для Eclipse, который я затем импортировал в IntelliJ (существующий источник -> eclipse).
Но проблемы начались здесь: я не могу заставить плагин IntelliJ Sbt работать.



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

890   7  

7 ответов:

существует три основных способа создания проекта - современные версии IntelliJ могут импортировать проект sbt из коробки, в противном случае вы можете либо использовать плагин sbt для создания проекта IntelliJ, либо использовать плагин IntelliJ Scala для создания проекта sbt. Основные функции работают "из коробки", используя оба решения, некоторые сложные сборки могут возникнуть проблемы, поэтому попробуйте другие инструменты, чтобы увидеть, если он работает там.

IntelliJ

IntelliJ идея стала намного лучше в эти дни. Этот текущая версия (14.0.2) поддерживает проекты sbt из коробки с плагином Scala. Просто установите плагин, и вы сможете открывать проекты Scala/sbt без каких-либо проблем.

Scala plugin under Plugins in Preferences

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

Import sbt project

Плагин IntelliJ Scala

плагин IntelliJ можно найти здесь http://confluence.jetbrains.com/display/SCA/Scala + плагин+для + IntelliJ + IDEA или может быть установлен directoly из IDE с помощью диалогового окна настройки - > плагины. После этого можно просто сделать Файл - > Новый проект - > Scala - > SBT на основе. IntelliJ будет генерировать базовую сборку.sbt, загрузите необходимые зависимости и откройте проект.

плагин SBT

плагин Sbt, который генерирует проект идеи на основе файлов sbt, можно найти здесь: https://github.com/mpeltonen/sbt-idea

SBT 12.0+ & 13.0+

просто добавить addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.2") на build.sbt; не требуются дополнительные преобразователи.

Старые Версии:

SBT 0.11+

создайте и добавьте следующие строки в ~/.sbt/plugins/build.sbt или PROJECT_DIR/project/plugins.sbt

resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0")

использовать gen-idea в sbt для создания файлов проекта идеи.

по умолчанию, классификаторы (т. е. источники и javadocs) зависимостей sbt и библиотеки загружаются, если они найдены и ссылки добавлены в файлы проекта IDEA. Если вы не хотите загружать / ссылаться на них, используйте команду gen-idea no-classifiers no-sbt-classifiers.


SBT 0.10.1 (по словам автора плагина, 0.10.0 не работать!)

создайте и добавьте следующие строки в~/.sbt / plugins / build.СБТ:

resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"

libraryDependencies += "com.github.mpeltonen" %% "sbt-idea" % "0.10.0"

использовать gen-idea задача sbt для создания проекта идеи файлы.

по умолчанию классификаторы (т. е. источники и javadocs) зависимостей sbt и библиотеки загружаются, если они найдены и ссылки добавлены в файлы проекта IDEA. Если вы не хотите загружать / ссылаться на них, используйте команду gen-idea no-classifiers no-sbt-classifiers.


SBT 0.7

чтобы использовать его, просто запустите это из своей оболочки sbt, он будет использовать плагин в качестве внешней программы:

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

вы также можете добавить признак в определение проекта, как вы хочу:

import sbt._
class MyProject(info: ProjectInfo) extends ParentProject(info) with IdeaProject {
  lazy val mySubProject = project("my-subproject", "my-subproject", new DefaultProject(_) with IdeaProject)
   // ...
}

сейчас я делаю это вручную. Это довольно просто.

  1. создать проект с помощью SBT
  2. создайте новый проект идеи с тем же корневым путем
  3. создать модуль с тем же корневым путем
  4. установите src / main / scala в качестве пути src на модуле
  5. установите src / test / scala в качестве тестового пути на модуле
  6. добавить scala-библиотеку.jar как библиотеку
  7. добавить lib (если он присутствует) в качестве каталога jar в модуле библиотека
  8. добавить lib_managed / compile (если он присутствует) в качестве каталога jar в библиотеке модуля
  9. добавить lib_managed / test (если он присутствует) в качестве каталога jar в библиотеке модуля

вот и все по памяти. Было бы лучше, если бы он был автоматизирован, но это не так важно, как сейчас.

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

retrieveManaged := true

в сборку.sbt, чтобы сделать его скопировать зависимости в lib_managed.

Tempus fugit и IntelliJ идея стала намного лучше в эти дни. Это ведь 2015 год, не так ли?

сказав, что последняя версия IntelliJ IDEA 14.0.2 поддерживает проекты sbt из коробки с плагин Scala. Просто установите плагин, и вы сможете открывать проекты Scala/sbt без особых проблем.

Scala plugin under Plugins in Preferences

Я использую версию раннего доступа плагина, который это 1.2.67.6.ВП на момент написания статьи.

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

Import sbt project

о sbt-idea в sbt 0.12.4

для sbt 0.12.4 системный файл конфигурации плагина -~/.sbt/plugins/build.sbt или PROJECT_DIR/project/plugins.sbt - должны иметь следующие строки:

resolvers += "Sonatype snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/"

addSbtPlugin(dependency="com.github.mpeltonen" % "sbt-idea" % "1.5.0-SNAPSHOT")

выполнить sbt gen-idea для создания файлов проекта идеи.

читать веб-сайт плагина sbt-idea для получения более актуальной информации. Вы также можете найти мою запись в блоге импорт проекта на основе sbt в IntelliJ IDEA 13 (с sbt-idea, Scala 2.11 и sbt 0.12) полезное.

для sbt 0.7

посмотреть ответ в другом месте на этой странице.

для sbt 0.10

клонировать и строить sbt-идею Исмаэля:

git clone https://github.com/ijuma/sbt-idea.git
cd sbt-idea
git checkout sbt-0.10
./sbt package

создайте каталог lib плагина sbt, если у вас его еще нет

mkdir -p  ~/.sbt/plugins/lib

скопируйте банку, встроенную в первый шаг, сюда

cp sbt-idea/target/scala-2.8.1.final/*.jar ~/.sbt/plugins/lib

перезагрузите или перезагрузите sbt, затем вы можете запустить gen-idea (или gen-idea with-classifiers если вы хотите источники и javadoc в intelliJ тоже)

источник: предложение Такеров в группе сообщений.

в IntelliJ IDEA 13.сам х

вы можете открыть проект на основе SBT в IDEA в настоящее время. Он будет создавать необходимые проекты и модули, а также поддерживать ваши зависимости в актуальном состоянии всякий раз, когда вы вносите изменения в сценарии сборки.

Я просто прошел через всю эту боль. Я провожу дни, пытаясь получить приемлемую среду и пришел к выводу, что ENSIME, SBT и JRebel будут моей средой разработки в течение некоторого времени. Да, он возвращается к Emacs, но ENSIME превращает его в бит или идею с рефакторингом, поддержкой отладки, навигацией и т. д. Это не так хорошо, как Eclipse (Java), но если Плагины scala не работают лучше, это лучшее, что у нас есть.

до тех пор, пока Скала среды разработки встают на табак (Eclipse или IntelliJ) я не собираюсь беспокоиться. Они просто слишком глючные.

смотрите обсуждение на сайте лифта.

http://groups.google.com/group/liftweb/browse_thread/thread/6e38ae7396575052#

в этом потоке есть ссылка на HOWTO для IntelliJ, но хотя это своего рода работает, есть много проблем, которые делают его немного меньше полезный.

http://blog.morroni.com/2010/07/14/setup-intellij-9-for-lift-framework-development/comment-page-1/

ответы старые для 2014 года. В IntelliJ 13.x, плагин Scala является ver 0.41.2 (SBT входит в комплект).

мой SBT версия 0.13.5 (терминал : sbt sbtVersion)

перейдите в корневую папку проекта и введите в терминале

sbt idea

вы увидите две новые скрытые папки .идея и .idea_modules.

затем в IntelliJ, File > Open > выберите проект. Он должен открыть проект без каких либо проблем.

перед началом создания проекта SBT убедитесь, что плагин Scala загружен и включен в IntelliJ IDEA.

ниже ссылка объясняет все, что нужно знать.

https://www.jetbrains.com/help/idea/2016.1/getting-started-with-sbt.html

Comments

    Ничего не найдено.