2015-08-04 3 views
1

При запуске activator ~ run, вот что происходит:`активатор ~ run` не работает

  1. Когда DEV сервер сначала работает, я получаю сообщение в консоли говорят, что сервер прослушивает порт 9000
  2. Теперь, когда я вношу изменения в файлы и сохраняю, на консоль ничего не выводится.
  3. Однако, когда я обновляю страницу, я вижу сообщение о перезагрузке в консоли и загрузке браузера.

Я думал, что ~ run означает перезапуск при каждом изменении файла?

ответ

6

Откройте файл build.sbt и проверьте, содержит ли он строку, например fork in run := true. Если это так, удалите строку или установите значение false.

Почему это?

Этот вилок требуется от Activator UI для запуска процессов, поэтому каждый раз, когда вы запускаете приложение из пользовательского интерфейса, он сначала добавляет строку, чтобы убедиться, что она будет существовать. В любом случае это вызывает некоторые проблемы с горячей перезагрузкой (а также некоторые другие странные вещи, такие как зависание приложений, утечки памяти).

+0

Я вижу так много проблем, которые люди, похоже, исправили, отключив «fork in run». Если вы не используете пользовательский интерфейс Activator, нет ли недостатка в его устранении? –

+0

@jon_wu Нет, 'fork in run' предназначен только для процессов нереста - ваше приложение с пользовательским интерфейсом – biesior

1

По Play Docs:

Подсказка: Вы можете запустить приложение, используя ~ бежать, чтобы включить прямую компиляцию на изменение файла. Таким образом, Файлы шаблонов scala автоматически обнаруживаются при создании нового шаблона в представлении и автоматически скомпилируются при изменении файла. Если вы используете обычный прогон, вам нужно каждый раз нажимать Refresh в вашем браузере.

Таким образом, очевидно, что это относится только к файлам шаблонов Scala.

EDIT

Райан является правильным, просто проверял и он работает также для Scala файлов.

Поскольку это не работает с пробелами между «~» и «run», я полагаю, что это тоже не проблема (вы процитировали его с пробелом).

+0

Это неправда, воспроизведение будет перезагружаться для всех файлов. Документы вводят в заблуждение в этом параграфе. – Ryan

+0

Возможно, я не понимаю, как это должно работать? Он только говорит «Ожидание изменений», когда я нажимаю ctrl + D, чтобы вернуться на консоль. Извините, если я очутился как невежественный, я только начал изучать Play и Scala, и я понятия не имею, как работает 'sbt'. –

+0

Нет, не беспокойтесь. Проблема в том, что я не могу воспроизвести вашу проблему. Какова структура вашего проекта и какой файл вы пытаетесь изменить во время выполнения? – thwiegan

0

Вы пробовали запуска консоли первой набрав

activator 

Затем после того, как консоль вверх можно ввести

[your-app] $ ~run 

Обычно, когда какие-либо файлы, измененные/добавлено. Это вызовет процесс компиляции.