Как создать конфигурацию запуска SBT в IntelliJ IDEA 11 Community Edition?

Я создал проект Lift для IDEA 11 Community Edition, используя плагин sbt-idea. Он компилируется и хорошо работает из консоли SBT плагинов SBT, я также могу отлаживать его, создавая правильную «удаленную» конфигурацию.

Но как создать конфигурацию запуска SBT?

Я не хочу каждый раз вводить «контейнер: запуск» в консоли SBT, я хочу запускаться с помощью кнопки «Выполнить/Отладка».
Мне не удалось найти какой-либо тип конфигурации SBT (например, доступен «Maven» тип), и когда я пытаюсь добавить конфигурацию на основе «Типа приложения», я не могу указать основной класс.

Также нет доступного типа "Scala Compilation Server" (я не вижу его в списке доступных типов конфигурации), поэтому я не могу использовать подобные решения https://stackoverflow.com/a/6131737/705819/
Существуют ли какие-либо конкретные действия, которые необходимо выполнить для отображения типа "Scala Compilation Server" вверх? Или это доступно только в полной версии IDEA?

ОБНОВЛЕНИЕ: я также использую JRebel для своего проекта. Без правильной конфигурации запуска мне приходится запускать SBT с JRebel через параметры виртуальной машины и отлаживать с помощью удаленной конфигурации, поэтому мне приходится перезапускать отладчик каждый раз, когда я обновляю код (потому что Jrebel перезагружает класс) вместо того, чтобы просто нажимать кнопку «Отладка с помощью Jrebel». (благодаря плагину Jrebel IDEA). Это очень раздражает, пожалуйста, помогите!


person Alexzander    schedule 08.01.2012    source источник
comment
Добавьте alias cs=container:start к .sbtrc, чтобы избежать нескольких нажатий клавиш.   -  person retronym    schedule 08.01.2012


Ответы (1)


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

Добавьте это в настройки сборки, чтобы добавить Jetty в тестовый путь к классам:

libraryDependencies += "org.mortbay.jetty" % "jetty" % "6.1.22" % "test"

Затем возьмите фрагмент кода отсюда, чтобы запустить Jetty:

Вы можете настроить действие перед запуском для запуска этой конфигурации запуска sbt package, который создаст ВОЙНУ.

person retronym    schedule 08.01.2012
comment
Большое спасибо! Я написал основной метод для jetty 8 (API немного изменился wiki.eclipse.org/Jetty/Tutorial /Embedding_Jetty), и это сработало! И последнее - я все еще использую консоль SBT параллельно с отладкой (запускаю команду ~compile), так как JRebel требует непрерывной компиляции исходников для своей корректной работы. Я надеялся, что смогу назначить перед запуском SBT Action ~compile, но такой опции нет. Может быть, вы можете предложить обходной путь для этого? - person Alexzander; 09.01.2012
comment
У меня такая же проблема, но у меня это решение не сработало, потому что я вообще не пишу веб-приложение. - person Arne; 11.05.2013