web-dev-qa-db-ja.com

新しく作成されたscala.htmlビューはPlayFramework2.xで認識されません

Play Framework2.0.1を使用しています。 「playnew」コマンドを使用してJavaアプリケーションを作成しました。デフォルトでは、index.scala.htmlとmain.scala.htmlの2つのビューが作成されます。

これらのビューをレンダリングできるサンプルチュートリアルアプリをいくつか作成しました。ただし、新しいビュー(デフォルトではapp/views /)を追加すると、コンパイルエラーが発生し、見つからないことがあります。

public static Result getAllCars() {
    List<Car> cars = Car.getAllCars();
    return ok(simpleCarView.render(cars));
}

できます

import views.html.index;
import views.html.main;

だがしかし

import views.html.simpleCarView; 

コンソールのエラー:

cannot find symbol
[error] symbol : variable simpleCarView
[error] location: class controllers.Application

ファイルディレクトリとEclipse内からscala.htmlビューを追加しようとしましたが、何らかの理由で見つかりません。また、デフォルトのNettyサーバーを再起動してみました。

これを引き起こしているものについてのアイデアはありますか?

14

ビューはEclipseによってコンパイルされませんが、target\scala-2.9.1\classes_managedディレクトリがEclipseプロジェクトのビルドパスにある限り、Playによってコンパイルされた後にEclipseで表示できます。

コマンドラインで「playcompile」を実行して(または、すでにplay consoleを使用している場合は単に「compile」)、Eclipse内でプロジェクトを更新してみてください(プロジェクトを選択してF5キーを押します)

24
InPursuit

IntelliJ 12ユーザーの方へ:Play 2.1にアップグレードしたため、PlayIntelliJサポートプラグインが壊れました。これにより、IntelliJは以下を認識しませんでした。

import views.html.*;

そのため、インポートを最適化するためにcmd + oを押すと、削除されました。ビューがインポートされなかったため、play clean compileを実行すると、この結果、コンパイルエラーが発生します。

[error] symbol  : variable index
[error] location: class controllers.Application
[error]         return ok(index.render());
[error]                   ^
[error] 1 error
[error] (compile:compile) javac returned nonzero exit code
[error] application -

そこで、プラグインをアンインストールし、IntelliJを再起動すると、ビオラはすべて魅力のように機能します。

4
jakob

あなたが使用できます

~compile

playコンソールで、更新されたテンプレートがファイルの変更時に再コンパイルされ、おそらくEclipseがすぐに変更を確認できるようにします(IDEAがそれを行います)。

3
kompot

これは、プロジェクト全体をコピーして変更しようとした後に発生しました。 HTMLビューの変更は、コンパイルされていないため、無視されます。

activator clean compile run問題を修正しました。

2
Matthias Braun

私もこの行動をしました。それは典型的なコピー/貼り付けの問題であることが判明しました。 importステートメントを更新するのを忘れています。

1
yoda

私の場合、次のインポートを追加しました。

import views.html.*;

Eclipse IDEは、インポートを整理すると、上記の行を削除します CTRL + SHIFT + O

0
mesompi

InPursuitが提案したのと同じplay compileを実行しますが、完全に新しいビューを追加するときに、Eclipseが「コンテンツアシスト」情報を再構築するために、プロジェクトを閉じて再度開く必要があることがわかりました。

プロジェクトを右クリックして[プロジェクトを閉じる]を選択し、空になったプロジェクトフォルダーを右クリックして[プロジェクトを開く]を選択します。それは面倒ですが、それが私のために働いた唯一の方法です(Eclipseを再起動する以外)。開いた後も赤い波線が残っていることがありますが、リフレッシュすると消えます。

0
estmatic