Учебник по игровым фреймворкам: Не удается разрешить символ "индекс"?
Я следовал этому уроку, и хотя весь урок работал нормально, один из классов в моем проекте IntelliJ помечен "красными предупреждениями". Я не могу понять, в чем здесь проблема? Проект работает, но он показывает эти предупреждения? Есть идеи, что это такое и как это исправить? В уроке, который занимает около 3,5 минут, красные метки волшебным образом исчезают, и ведущий видео не объясняет этого.
7 ответов
Плагин поддержки Play 2.0 доступен только в версии IntelliJ IDEA Ultimate.
Этот процесс работал для меня:
- перейдите в [Файл -> Структура проекта -> Модули -> [YourAppModule] -> Вкладка Источники]
- перейдите в каталог "target/scala-[version]/src_managed" (панель справа).
- Щелкните правой кнопкой мыши "главный" каталог и отметьте его как исходную папку.
- Щелкните правой кнопкой мыши "controllers" и "views" и уберите флаг "sources" (вы должны увидеть, что папка контроллеров и представлений станет каталогами пакетов).
- Применить -> ОК -> перекомпилировать.
с https://github.com/playframework/playframework/issues/1784
Представления / шаблоны не являются классами, поэтому IDE не может их распознать. IDE должен быть настроен для поиска скомпилированной версии представлений. Этот клик исправит вашу проблему
Мне удалось заставить его работать в сообществе IDEA 14, просто очистив кэш IDEA (Файл -> Неправильные кэши / перезапуск)
Файл маршрутов и представления компилируются только при первой загрузке проекта в браузере. До этого IntelliJ показывает ошибку, так как не может найти эти классы. Но ошибки волшебным образом исчезают, когда вы запускаете приложение и загружаете его в браузер.
Вы можете проверить это в игровой консоли. После того, как вы делаете play run
и загрузите URL localhost:9000
в браузере вы можете увидеть сообщения компиляции в игровой консоли, говорящие
...compiling 22 scala sources....
- Открыть боковую панель "Проект"
- Перейти к цели / scala-<версия>/ src_managed
- Щелкните правой кнопкой мыши по src_managed, "Пометить каталог как"/"Сгенерированный корень источника"
- Подкаталоги src_managed по странной причине помечены как корни источника. Вы можете отключить это.
- Наслаждаться.
Обратите внимание, что маршруты javascript по-прежнему игнорируются по странной причине, поэтому это не идеальное решение. Тем не менее, это лучше, чем ничего.
Перейдите в конфигурацию "Run" для своего проекта Play и удалите шаг "Make" из раздела "Before Launch". Затем IntelliJ просто запустит проект Play, не пытаясь скомпилировать, и представления будут скомпилированы автоматически.
Пока представления не скомпилированы, IntelliJ не знает, что они существуют, и не может создать сам проект. Очевидно, что это проблема с плагином IntelliJ, но поскольку вы уже полагаетесь на Play для динамической компиляции, этот обходной путь не сильно повредит рабочему процессу.