web-dev-qa-db-ja.com

Playフレームワークチュートリアル:シンボル「インデックス」を解決できませんか?

私は チュートリアルはこちら に従いました。チュートリアル全体が問題なく機能しましたが、IntelliJプロジェクトのクラスの1つに「赤い警告」のマークが付いています。ここで何が問題なのかわかりませんか?プロジェクトは機能しますが、これらの警告が表示されますか?これとは何か、それを修正する方法についてのアイデアはありますか?チュートリアルでは、約3.5分で赤いマークが魔法のように消え、ビデオプレゼンターは説明しません。

enter image description here

24
djangofan
8
maba

このプロセスは私にとってうまくいきました:

  1. [File-> Project Structure-> Modules-> [YourAppModule]-> Sources Tab]に移動します
  2. 「target/scala- [version]/src_managed」ディレクトリ(右側のパネル)に移動します。
  3. 「メイン」ディレクトリを右クリックして、ソースフォルダとしてフラグを立てます。
  4. 「controllers」と「views」を右クリックし、「sources」フラグを削除します(controllersとviewsフォルダーがパッケージディレクトリになるはずです)。
  5. 適用-> OK->再コンパイルします。

から https://github.com/playframework/playframework/issues/1784#issuecomment-2634552

32
user363349

私はそれをIDEAコミュニティ14のみをクリーニングすることで動作させることができましたIDEA cache(File-> Invalidate Caches/Restart)

8
LMeyer

ビュー/テンプレートはクラスではないため、IDEはそれらを認識できません。IDEは、コンパイルされたバージョンのビューを探すように設定する必要があります。このクリックにより問題を修正する

enter image description here

8
abbas

ルートファイルとビューは、プロジェクトがブラウザに最初に読み込まれたときにのみコンパイルされます。それまでは、これらのクラスが見つからないため、IntelliJはエラーを表示します。しかし、アプリケーションを実行してブラウザにロードすると、エラーは魔法のように消えます。

これはPlay Consoleで確認できます。 play runを実行し、ブラウザにlocalhost:9000のURLをロードすると、playコンソールに次のようなコンパイルメッセージが表示されます。

...compiling 22 scala sources....

5
Tapan Chandra

Playプロジェクトの実行構成に移動し、「起動前」セクションから「作成」ステップを削除します。その後、IntelliJはコンパイルを試行せずにPlayプロジェクトを実行するだけで、ビューは自動的にコンパイルされます。

ビューがコンパイルされるまで、IntelliJはビューが存在することを認識せず、プロジェクト自体を作成できません。これはIntelliJのプラグインの問題であることは明らかですが、既にPlayに依存して動的にコンパイルしているため、この回避策はワークフローにあまり影響を与えません。

1
Jon Nichols
  1. 「プロジェクト」サイドバーを開く
  2. Target/scala-に移動します<バージョン>/ src_managed
  3. Src_managedを右クリックし、「Mark Directory As」/「Generated Source Root」
  4. Src_managedのサブディレクトリは、ソースルートとしてマークされた奇妙な理由によるものです。無効にすることができます。
  5. 楽しい。

JavaScriptのルートは奇妙な理由からまだ無視されているように見えるので、これは完全な解決策ではないことに注意してください。それにもかかわらず、何もないよりはましです。

1
v6ak