Как заставить Eclipse увидеть изменения в Play! скомпилированные шаблоны?
Итак, я пробую 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, и игра eclipsify автоматически добавила каталог classes_managed в путь сборки.
4 ответа
Я сделал следующие вещи:
- Как и вы, я включил автоматическое обновление рабочей области (в настройках Общие -> Рабочая область, затем выберите "Обновить с помощью собственных перехватов или пула")
- Я удалил
classes_managed
каталог, созданныйplay eclipsify
из моего пути сборки, и я добавил его вручную, используя "Добавить внешнюю папку класса"
И тогда это сработало для меня. Кажется, что есть ошибка с eclipsify
команда.
Хитрость заключается в том, чтобы автоматически создавать Play в фоновом режиме (файлы шаблонов в настоящее время не создаются Eclipse, поэтому вам нужно Play, чтобы перевести их для вас). Это все подробно объясняется здесь:
[неработающая ссылка] http://scala-ide.org/docs/tutorials/play20scalaide20/index.html
[попробуйте это] http://scala-ide.org/docs/tutorials/play/index.html
- Запустите 'play eclipse' в командной строке
- В Eclipse обновите свой проект, нажав F5
Для 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
,