2012-01-08 2 views
5

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

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

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

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

UPDATE: Я также использую JRebel для своего проекта. Без надлежащей конфигурации запуска я должен запускать SBT с помощью JRebel через параметры VM и отлаживать через Remote configuration - поэтому он заставляет меня перезапускать отладчик каждый раз, когда я обновляю код (потому что Jrebel перезагружает класс) вместо того, чтобы просто нажимать кнопку «Отладка с помощью Jrebel» (благодаря плагину JREEL IDEA). Это очень раздражает, пожалуйста, помогите!

+1

Добавьте 'alias cs = container: start' to' .sbtrc', чтобы избежать нескольких нажатий клавиш. – retronym

ответ

1

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

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

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

Затем возьмите code snippet from here начать Jetty:

Вы можете настроить pre-run action для этой конфигурации Run для запуска sbt package , который создаст WAR.

+0

Спасибо большое! Я написал основной метод для причала 8 (api слегка изменил http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty), и он сработал! Последнее: я все еще использую консоль SBT параллельно с отладкой (я запускаю команду «~ compile»), поэтому JRebel требует непрерывной компиляции источников для правильной работы. Я надеялся, что я могу назначить перед запуском SBT Action «~ compile», но такой опции нет. Может быть, вы можете предложить обходной путь? – Alexzander

+1

У меня такая же проблема, но это решение не сработало для меня, потому что я вообще не пишу веб-приложение. – Arne