Как заставить Eclipse увидеть изменения в Play! скомпилированные шаблоны?
Итак, я пытаюсь играть 2 с Eclipse. Я создаю новый проект, компилирую его, запускаю eclipsify и импортирую его в Eclipse. Пока все хорошо.
Проблема, с которой я столкнулась, заключается в том, что когда я вношу изменения в шаблон Scala, мои контроллеры Java не могут его увидеть, а Eclipse отмечает код как недействительный. Например:
Я добавил второй параметр в свой шаблон индекса
@(message: String, nesto:Integer)
Когда я пытаюсь отобразить свой файл с контроллера, следующая строка отображает ошибку, потому что Eclipse по-прежнему считает, что index.render принимает одну строку.
return ok(index.render("Your new application is ready.",2));
Я включил обновление рабочей области в Eclipse, и play eclipsify автоматически добавил каталог classes_managed в путь сборки.
Ответы
Ответ 1
Я сделал следующие вещи:
- Как вы это сделали, я включил автообновление рабочей области (в настройках, General → Workspace, затем выберите "Refresh using native hooks или pooling" )
- Я удалил каталог
classes_managed
, сгенерированный play eclipsify
из моего пути сборки, и я добавил его вручную, используя "Добавить папку внешнего класса"
И потом это сработало для меня.
Кажется, что есть ошибка с командой eclipsify
.
Ответ 2
Трюк состоит в том, чтобы автоматически создавать Play в фоновом режиме (файлы шаблонов в настоящее время не созданы Eclipse, поэтому вам нужно воспроизвести их для перевода). Здесь подробно объяснено:
[мертвая ссылка]
http://scala-ide.org/docs/tutorials/play20scalaide20/index.html
[попробуйте этот]
http://scala-ide.org/docs/tutorials/play/index.html#installing-the-scala-ide-play2-plug-in
Ответ 3
- Запустите "play eclipse" в командной строке
- В Eclipse обновите свой проект, нажав F5
Ответ 4
Для Java Play Framework v2.4.6 (активатор v1.3.7) с Eclipse Mars:
Вместо @(message: String, nesto:Integer)
вы пробовали этот @(message: String)(nesto: Integer)
?
Чтобы у вас не было "невозможно решить проблему" с помощью index.render()
, вы можете добавить этот <classpathentry kind="lib" path="target/scala-2.11/classes"/>
в свой .classpath
или щелкнуть правой кнопкой мыши по проекту → Путь сборки → Настроить путь сборки → Добавить папку класса и указать ее на target/scala-2.11/classes
.