2014-02-05 4 views
26

Я использую IDEA 13 с Play 2.2.1 и делал примеры на play site.Intellij IDEA не может разрешить символ с помощью платформы воспроизведения

public static Result index() { 
    return redirect(routes.Application.tasks()); 
} 

IDEA говорит "не может решить метод перенаправления (?)" И красный подчеркивает routes.Application.tasks()

я сделал "компилировать", а затем "идею" из консоли игры.

+0

Не могли бы вы поделиться своей импорцией и первой строкой cobject ... – wwkudu

ответ

19

У меня была аналогичная проблема при тестировании моего контроллера. Я решил это на "File" > "Open Project" и выберите базовую папку проекта Framework для Play (удалите все файлы настроек идеи из папки до того, как он будет реимпортироваться с использованием настроек 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) 
); 

Ваш способ сделать это должен работать.

+0

Спасибо всем своим холодным темным сердцем. importiveemongo import просто не будет работать для меня в intellij IDEA, пока я в основном не взломал проект. Удалил файл .idea, а затем снова открыл его в intellij. (сначала резервное копирование). Это буквально уничтожило дни моей жизни. Спасибо. – BizNuge

+2

@BizNuge «Моя сестра/брат от другой матери». Я чувствую, что ты и я тоже это пережили. На. Каждый. IDEA. Обновить. –

+3

Я ненавижу это программное обеспечение ... он теперь полностью забыл, что раньше он знал, какой импорт play.api.Play должен делать ... это похоже на то, что у меня есть проблема со мной лично ... дело в том, когда оно работает действительно приятно ... это похоже на подругу, которая действительно забавна, пока у нее нет текилы ... – BizNuge

8

Ну, я использую «IntelliJ Idea 13» и делаю «sbt» проект Playframework с «Activator». После того, как все старались, я, наконец, решить эту проблему с следующими шагами в терминале/ЦМДЕ в моем SBT проекте существующего корневого

  1. введите следующую команду в терминале/CMD: sbt clean
  2. затем удалить эти файлы и папки:». идея»,„все _.iml файлы“,„все целевые папки находятся в папке проекта (. это не может быть необходимым, но я сделал это)“
  3. введите следующую команду в терминале/CMD: sbt idea
  4. сейчас в IntelliJ : открытый проект

Примечание: Если вы строите проект Playframework с «Play» команда вместо «Активатора» вместо sbt idea команды вы можете попробовать play idea или play "idea with-sources=yes"

Надеются, что это поможет вам.

+0

Это сработало для меня, спасибо!После повторного открытия проекта IDEA подсказала мне, что он был создан с использованием более старого формата проекта и сказал, что я должен его преобразовать, что я и сделал. Затем мне предложили использовать импортер SBT, который я и сделал. И вуаля! оно работает. –

+0

Результатом является ошибка «Недействительная команда». В чем проблема? sbt idea >. \ Sbt-dist \ bin \ sbt.bat идея Java HotSpot (TM) 64-разрядное серверное предупреждение VM: игнорирование опции MaxPermSize = 256m; поддержка была удалена в 8.0 [info] Загрузка определения проекта из D: \ CODE \ Web Development \ play-java \ project [info] Установить текущий проект для play-java-intro (в файле сборки:/D:/CODE/Web% 20Development/play-java /) [error] Недействительная команда: idea (похоже: eval, alias) [error] Недействительный ключ: idea (похоже: clean) [error] idea [error]^ – ykpemre

4

мне пришлось добавить запись ниже плагин к моему plugins.sbt (в папке проектов) для IntelliJ IDEA разрешить игровые переменные, такие как маршруты и т.д.

addSbtPlugin («com.github.mpeltonen»% «SBT -idea "%" 1.6.0 ")

Примечание: после добавления вышеуказанного плагина к плагинам.SBT, выполните следующие команды, чтобы восстановить идею и решить эту проблему:

  • активатор чистый
  • активатор идея
+1

> Идея активатора больше не является «действительным ключом» (OSX) (как в Play 2.4). – cloudsurfin

7

Эти шаги работают для меня: добавить следующие строки в ваш файл 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 
+1

Спасибо! отличное решение. –

6

я мог бы решить эту проблему путем маркировки сгенерированных каталогов коды как папка «Sources». Перейдите в Файл -> Структура проекта -> "Корневой" модуль -> Источники.

Intellij Project Structure with Module Settings

+0

Чтобы быть более явным, удалите target/scala-2.11/routes/main из Исключенных папок и добавьте его в исходные папки. –

0

В моем случае выполняется команда SBT от пользователя, который не имеет разрешения для проекта вы вводите SBT в. Очистка и затем изменить права доступа к папке с Чаун -R yourUser/путь/to/project, и он должен исправить это. После этого ./sbt compile

0

У меня была аналогичная проблема - IDEA не смог разрешить игру! .

В моем случае возникла проблема с папкой .idea. Я скопировал проект, чтобы отделить папку и запустить команду «активатор идеи» в скопированной корневой папке проекта. Затем я сравнил папки .idea в оригинальном проекте и скопированный проект - там я нашел разницу! В скопированном проекте в папке .idea/libraries было много файлов XML, содержащих ссылки на зависимости, поэтому я скопировал их в ту же папку в исходный проект, переиндексировал проект, и с этого момента все работает отлично :) Я сделал это так как я не хотел потерять настройки своего проекта (удаление папки .idea и запуск команды «идея активатора» в исходной папке проекта должно решить проблему, но настройки для проекта будут потеряны).

Надеюсь, это поможет как-то :).

Смежные вопросы