2016-03-04 5 views
3

Я использую IntelliJ IDEA 15.0.4 для разработки Java-игры! 2.4.4. Начиная с нескольких месяцев (думаю, из-за обновления IntelliJ, но не на 100%) возникает следующая проблема:IntelliJ IDEA 15 Воспроизвести 2.4 метод обратной маршрутизации «строка не может быть применена к java.lang.String»

Когда я вызываю обратный маршрут от контроллера, который принимает строку в качестве параметра, параметр отображается как ошибка со следующим сообщением:

имяМетода (строка) в ReverseMyController не может быть применен к (java.lang.String)

Вот пример кода:

public Result myAction(String myId) { 
    // Do something... 

    // Redirect back to referrer 
    flash("success", "Action was a success"); 
    if(!myId.isEmpty()) return redirect(controllers.routes.MyController.showItem(myId)); 
    return redirect(controllers.routes.MyController.itemList(1)); 
} 

В этом примере параметр myId передается методу showItem будет выделена ошибка, like this.

Я уже пробовал возиться с настройками структуры проекта и поиск Google, но безуспешно. Я надеюсь, что кто-то сможет мне помочь, мой OCD-сам по-настоящему оценил бы наличие базы кода без подсказок ошибок;)

ответ

3

Да, я встречаю ту же проблему, что и вы сказали. Я думаю, что это ошибка IDEA 15.0.4, вы пытались перейти на более раннюю версию до 15.0.4?

+0

Спасибо, я напишу отчет об ошибке в этом случае. Я не был уверен, что это ошибка или проблема с конфигурацией, потому что у кого-то еще не было такой же проблемы. –

+0

У вас уже возникла проблема: https://youtrack.jetbrains.com/issue/SCL-9688 Надеюсь, что он скоро будет разрешен :) –

+0

Я загружаю IDEA 2016.1 и обновляю плагин scala до 3.0.0, сообщение об ошибке исчезло. – deezh

4

Принятый ответ не решает проблему, поэтому я отвечаю на этот старый вопрос.

У меня была та же проблема с Play2.5.4 и InteliJ2016.1.3

Я удалил тип (String) из декларации маршрута в маршрутах файл и InteliJ остановился, выделив его в качестве ошибки.

Изменить следующее:

GET /path/:string_arg controllers.MyController.myMethod(string_arg: String)

Для

GET /path/:string_arg controllers.MyController.myMethod(string_arg)

и она отлично работает.

+0

Он ответил на вопрос для Play 2.4.x, но вы действительно правы, что ваш ответ решает его для Play 2.5.x. Благодаря! –

+0

Любые предложения по игре 2.6? Пробовал это, но не оказал никакого влияния. Я использую InteliJ 2017.1 с Play 2.6. – Renan

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

  • Нет связанных вопросов^_^