2013-06-05 40 views
23

我跟着a tutorial here,儘管我整個教程工作得很好,但我的IntelliJ項目中的一個類標有「紅色警告」。我無法弄清楚問題在這裏?該項目的工作原理,但它顯示了這些警告?關於這是什麼以及如何解決它的任何想法?在教程中,大約3.5分鐘後,紅色標記魔術般消失,視頻演示者無法解釋它。Play框架教程:無法解析符號'索引'?

enter image description here

+0

您使用的IntelliJ版本是什麼?確保你已經安裝了Play 2.0 support'插件。 – maba

+0

我正在使用社區版本12.1.3。我聽說它有內置的支持。真的嗎? – djangofan

+0

我不使用IntelliJ,但在您的問題的屏幕截圖中,'import views.html。*'灰顯,這是不是表示它已被註釋掉? – 2manyprojects

回答

3

的路由文件和意見進行編譯,只有當項目在瀏覽器中第一次加載。直到那時,IntelliJ顯示錯誤,因爲它無法找到這些類。但是,當您運行應用程序並將其加載到瀏覽器中時,這些錯誤會神奇地消失。

您可以在播放控制檯中進行驗證。你做了play run後,並在瀏覽器加載網址localhost:9000,你可以看到在遊戲控制檯編譯消息說

...compiling 22 scala sources....

+0

我嘗試了各種各樣的變體,但是我的IDE仍然無法識別'索引'符號。 – djangofan

+0

我不確定,但你可以嘗試'發揮理想化我的應用程序' –

+3

集成開發環境似乎通常與Play有大問題!項目。嘗試從項目的命令行運行clean-all,然後從那裏進行編譯。最終,您的IDE應該會發生什麼......直到您下次更改視圖文件,然後是DOOOOM。 – Jakob

1

轉至運行配置爲您的遊戲項目,並排除在「啓動之前」部分中的「製作」一步。然後,IntelliJ只需運行Play項目而不嘗試編譯,視圖將自動編譯。

在編譯視圖之前,IntelliJ並不知道它們存在,並且不能創建項目本身。很明顯,這是IntelliJ插件的一個問題,但由於您已經依賴Play來動態編譯,所以這種解決方法不會太多地影響工作流程。

1
  1. 打開 「項目」 欄
  2. 轉到目標/ scala- <版>/src_managed
  3. 右鍵單擊src_managed, 「馬克目錄爲」/ 「生成的源根」
  4. src_managed的子目錄來自標記爲源根的奇怪原因。你可以禁用它。
  5. 享受。

請注意,javascript路由似乎仍然被一個奇怪的原因忽略,所以這不是一個完美的解決方案。儘管如此,它總比沒有好。

32

這個過程爲我工作:

  1. 進入[文件 - >項目結構 - >模塊 - > [YourAppModule] - > [來源]選項卡]
  2. 導航到「目標/ scala- [版本]/src_managed「目錄(右側的面板)。
  3. 右鍵單擊「main」目錄並將其標記爲源文件夾。
  4. 右鍵單擊「控制器」和「視圖」並刪除「sources」標誌(您應該看到控制器和視圖文件夾成爲包目錄)。
  5. 應用 - >確定 - >重新編譯。

https://github.com/playframework/playframework/issues/1784#issuecomment-26345523

+9

既然玩2.3,你可以做「target/scala- /twirl/main」。只要確保「main」被標記爲源文件夾即可。 – devDomm

+0

@devDomm非常棒的人謝謝 – Aphax

7

我設法使它由單純清洗IDEA緩存上IDEA社區14個工作(文件 - >的Invalidate緩存/重新啓動)

+0

這不愧爲正確的答案 – Ali

7

查看或模板不是類,這是爲什麼IDE無法識別它們。它應該被配置爲查找這些視圖的編譯版本。此點擊將解決您的問題

enter image description here