Учебник по игровым фреймворкам: Не удается разрешить символ "индекс"?

Я следовал этому уроку, и хотя весь урок работал нормально, один из классов в моем проекте IntelliJ помечен "красными предупреждениями". Я не могу понять, в чем здесь проблема? Проект работает, но он показывает эти предупреждения? Есть идеи, что это такое и как это исправить? В уроке, который занимает около 3,5 минут, красные метки волшебным образом исчезают, и ведущий видео не объясняет этого.

введите описание изображения здесь

7 ответов

Решение

Этот процесс работал для меня:

  1. перейдите в [Файл -> Структура проекта -> Модули -> [YourAppModule] -> Вкладка Источники]
  2. перейдите в каталог "target/scala-[version]/src_managed" (панель справа).
  3. Щелкните правой кнопкой мыши "главный" каталог и отметьте его как исходную папку.
  4. Щелкните правой кнопкой мыши "controllers" и "views" и уберите флаг "sources" (вы должны увидеть, что папка контроллеров и представлений станет каталогами пакетов).
  5. Применить -> ОК -> перекомпилировать.

с https://github.com/playframework/playframework/issues/1784

Представления / шаблоны не являются классами, поэтому IDE не может их распознать. IDE должен быть настроен для поиска скомпилированной версии представлений. Этот клик исправит вашу проблему

введите описание изображения здесь

Мне удалось заставить его работать в сообществе IDEA 14, просто очистив кэш IDEA (Файл -> Неправильные кэши / перезапуск)

Файл маршрутов и представления компилируются только при первой загрузке проекта в браузере. До этого IntelliJ показывает ошибку, так как не может найти эти классы. Но ошибки волшебным образом исчезают, когда вы запускаете приложение и загружаете его в браузер.

Вы можете проверить это в игровой консоли. После того, как вы делаете play run и загрузите URL localhost:9000 в браузере вы можете увидеть сообщения компиляции в игровой консоли, говорящие

...compiling 22 scala sources....

  1. Открыть боковую панель "Проект"
  2. Перейти к цели / scala-<версия>/ src_managed
  3. Щелкните правой кнопкой мыши по src_managed, "Пометить каталог как"/"Сгенерированный корень источника"
  4. Подкаталоги src_managed по странной причине помечены как корни источника. Вы можете отключить это.
  5. Наслаждаться.

Обратите внимание, что маршруты javascript по-прежнему игнорируются по странной причине, поэтому это не идеальное решение. Тем не менее, это лучше, чем ничего.

Перейдите в конфигурацию "Run" для своего проекта Play и удалите шаг "Make" из раздела "Before Launch". Затем IntelliJ просто запустит проект Play, не пытаясь скомпилировать, и представления будут скомпилированы автоматически.

Пока представления не скомпилированы, IntelliJ не знает, что они существуют, и не может создать сам проект. Очевидно, что это проблема с плагином IntelliJ, но поскольку вы уже полагаетесь на Play для динамической компиляции, этот обходной путь не сильно повредит рабочему процессу.

Другие вопросы по тегам