Intellij IDEA не может разрешить символ с помощью платформы Play
Я использую IDEA 13 с Play 2.2.1 и делаю примеры на игровом сайте.
public static Result index() {
return redirect(routes.Application.tasks());
}
IDEA говорит: "Невозможно разрешить переадресацию метода (?)", а красный подчеркивает маршруты. Application.tasks()
Я выполнил "компиляцию", а затем "идею" с игровой консоли.
Ответы
Ответ 1
У меня была аналогичная проблема при тестировании моего контроллера. Я решил его с помощью "File" > "Open Project"
и выбрать базовую папку проекта платформы Play (удалить все файлы настроек идеи из папки до того, как она будет reimport с использованием настроек SBT).
Последняя версия поддержки SBT для IDEA выполнила 90% работы. Затем F4 войдет в диалоговое окно настроек модуля. Настройте зависимости проекта, как на картинке ниже (яркая красная папка была установлена IDEA и еще не существует в моем проекте, поэтому не беспокойтесь, если они это сделают в вашем). Речь идет о включении управляемых классов и сгенерированного кода в код, который идея будет использовать и индексировать.
![enter image description here]()
теперь я могу использовать такой код из IDEA и отлаживать его без проблем.
Result result = Helpers.callAction(controllers.routes.ref.CrudController.createEntity(CrudEntities.contact.name()),
new FakeRequest().withJsonBody(paramJson)
);
Ваш способ сделать это тоже должен работать.
Ответ 2
Ну, я использую "IntelliJ Idea 13" и делаю проект "sbt" Playframework с "Activator". После того, как все прошло, я, наконец, решил эту проблему следующими шагами в терминале /cmd в существующем корневом sbt-проекте
- введите эту команду в терминал /cmd:
sbt clean
- затем удалите эти файлы и папки: ".idea", "all _.iml files", "все целевые папки находятся в папке проекта (это может быть необязательно, но я сделал это.)"
- введите эту команду в терминал /cmd:
sbt idea
- теперь в IntelliJ: открытый проект
Примечание:
Если вы создаете проект Playframework с помощью команды "Play" вместо "Activator",
вместо команды sbt idea
вы можете попробовать
play idea
или play "idea with-sources=yes"
Надеюсь, это поможет вам.
Ответ 3
Я мог бы решить проблему, отметив созданные каталоги файлов как папку "Источники". Перейдите в раздел "Файл → Структура проекта → " root "- > Источники.
![Внутренняя структура проекта с настройками модуля]()
Ответ 4
Эти шаги работают для меня:
добавьте следующие строки в файл plugins.sbt:
resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.2.0")
but if you don't know the correct version of sbt-idea then use this instead:
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "latest.integration")
Предупреждение. Потребуется слишком много времени, чтобы построить, поскольку нужно разбирать все версии и получить последнюю версию.
Запустите эту команду -
sbt gen-idea
Ответ 5
Мне пришлось добавить следующую плагиновую запись в мой plugins.sbt(в папке проектов) для intellij IDEA для разрешения переменных воспроизведения, таких как маршруты и т.д.
addSbtPlugin ( "com.github.mpeltonen" % "sbt-idea" % "1.6.0" )
Примечание. После добавления приведенного выше плагина к plugins.sbt выполните приведенные ниже команды, чтобы перестроить идею и решить проблему:
- активатор чистый
- идея активатора
Ответ 6
В моем случае выполняется команда sbt от пользователя, у которого нет разрешения для проекта, в который вы вводите sbt.
Очистите, а затем измените права доступа к папкам с помощью chown -R yourUser/path/to/project, и он должен исправить это.
После этого ./sbt compile
Ответ 7
У меня была аналогичная проблема - IDEA не смог решить Play!.
В моем случае возникла проблема с папкой .idea. Я скопировал проект, чтобы отделить папку и запустить команду "активатор идеи" в скопированной корневой папке проекта. Затем я сравнил папки .idea в оригинальном проекте и скопированный проект - там я нашел разницу! В скопированном проекте в папке .idea/libraries было много XML файлов, содержащих ссылки на зависимости, поэтому я скопировал их в одну и ту же папку в оригинальный проект, переиндексированный проект, и с этого момента все работает отлично:) Я сделал это так, потому что я не хотел потерять настройки своего проекта (удаление папки .idea и запуск команды "идея активатора" в исходной папке проекта должно решить проблему, но настройки для проекта будут потеряны).
Надеюсь, это поможет как-то:).