Подтвердить что ты не робот

Могу ли я дважды скомпилировать источники при запуске play2 и eclipse?

В настоящее время я запускаю eclipse и играю (с ~ run) одновременно. Когда я меняю файл, он будет скомпилирован игрой и затмением.

Можно ли избежать одного из этих двух шагов компиляции?

Насколько я знаю, в плагине eclipse также используется sbt для создания проекта, поэтому, возможно, есть способ выполнить команду "запустить" в Eclipse?

(Я спрашиваю, потому что мой ноутбук не очень быстрый, и компиляция занимает некоторое время, и я хотел бы иметь "Быстрый оборот", как рекламируется на веб-странице воспроизведения;)

4b9b3361

Ответ 1

Вы можете отключить Build Automatically в меню Project, не теряя при этом никакой функции IDE. Бинарники будут построены только Sbt (в командной строке).

Подробное руководство по настройке Play 2 с помощью Scala IDE можно найти на веб-сайте Scala IDE: http://scala-ide.org/docs/tutorials/play20scalaide20/index.html

Ответ 2

Я еще не пытался запустить задачу запуска sbt для запуска в eclipse.

НО вы можете запустить сервер непосредственно из eclipse.

  • Добавьте "target/ scala -2.9.1/classes" в свой путь к классу, используйте фильтры, чтобы включать только ваши активы. (Свойства проекта, Путь сборки Java)
  • Выберите "Run Configurations..." из меню Run-Button.
  • Создайте новую конфигурацию "Java Application" с вашим любимым именем.
  • Основная вкладка: используйте "DebugStart" в качестве основного класса.
  • Вкладка "Аргументы": настройте параметры "-Dconfig.file =..." "-Dlogger.file", которые могут потребоваться в аргументах VM.
  • Вкладка Classpath: добавьте каталог conf в путь к классам (Advanced/Add Folders).

Создайте DebugStart.scala с помощью:

import play.core.server.NettyServer
import java.io.File
import play.core.SBTLink
import play.core.TestApplication
import play.api.test.FakeApplication
import play.api.test.TestServer

object DebugStart {
  def main(args: Array[String]) {
    val app = FakeApplication()
    val server = TestServer(9000, app)
    server.start()
  }
}

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

Моя версия DebugStart.scala фактически содержит зависящий от платформы хакерский код, чтобы убить любой запущенный процесс, чтобы я мог просто нажать F11 или CTRL + F11, чтобы перезапустить приложение.

Чтобы убедиться, что ваши активы/источники обновлены:

> sbt
...
[your project] $  ~ ;play-copy-assets;sources

Ответ 3

IntelliJ Idea 12 (Leda) скоро появится. Я использую 11 некоторое время, и таких проблем нет, но новая версия предложит гораздо лучшую интеграцию с Play 2.0.