Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
749 views
in Technique[技术] by (71.8m points)

scala 2.10 - IntelliJ IDEA Report Highlighting error when using routes in Controller

I have a Scala Play project. I'm using Play 2.2.1. I downloaded Scala, Play 2 supported and SBT plugins. Everything is OK, but When I call route on Action in the Controller appear following error(Look screenshots):

Screenshot1

Screenshot2

I'm using IntelliJ IDEA 12.1.6 Ultimate version. Scala version 2.10.2

Anybody know how to fix this problem?

Thanks in advance!


Edit

When I generate my project to Intellij IDEA via "play idea" command in play console, and I opened project in IDEA project structure was such:

screenshot6

Then I saw answer @millhouse and discussing on this githup([Play 2.2] "play idea" creates not working source mapping in target) and I removed following folders from Sources Folders:

  • targetscala-2.10src_managedmaincontrollers
  • targetscala-2.10src_managedmainviews

and "Report highlighting error" disappeared, but now there is another error:

screenshot3

and

screenshot7

my route:

screenshot4

And I've changed "Sources Folders" as shown below:

screenshot5

But it doesn't help me. And remains "Unspecified value parametrs" error.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

millhouse's answer helped me find the right answer. Play 2.2 (and perhaps earlier versions, haven't checked) output a scala version of the routes file to project_dir/target/scala-2.10/src_managed/main So for IntelliJ to get the highlighting right you need to make sure that src_managed/main is added as a source folder. The reverse routes for javascript are for some reason included in project_dir/target/scala-2.10/classes_managed so you'll have to add that as well. (In your screenshot it looks like classes_managed is set to excluded so you'll want to un-exclude it by pressing the x button on the right hand side.)

Here's a screen shot of my project structure:

Working Play 2.2 project structure

Update:

In Play 2.3 (or perhaps recent versions of IntelliJ) adding the classes_managed no longer fixes the problem. Instead of adding classes_managed to the project's sources add it to it's dependencies. By doing that IntelliJ should be able to pick up the compiled routes.class.

Working Play 2.3 dependency list


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...