2012-06-07 6 views
12

現在、私はeclipseを実行していて、同時に実行しています。私がファイルを変更すると、それはplayとeclipseによってコンパイルされます。play2とeclipseを実行しているときに、ソースを2回コンパイルしないようにすることはできますか?

これらの2つのコンパイル手順のいずれかを回避することはできますか?

私の知る限り、Eclipseプラグインはsbtを使ってプロジェクトをビルドしていますので、Eclipseの中でplay "run"コマンドを実行する方法がありますか?

(私のラップトップは、いくつかの時間がかかり、非常に高速かつコンパイルではない、と私はプレーのウェブページで広告として「高速ターンアラウンド」を持っていると思いますので、私は求めています;)

+0

可能な複製http://stackoverflow.com/questions/4803283/eclipse-how-to-turn-off-dynamic-compilation-error-checking –

+0

hm、私は重複した質問ではないと思う。私は日食の機能をオフにしたくない - 私はそれを望むならば、私はテキストエディタを使用することができます。 – peq

答えて

5

あなたがからBuild AutomaticallyをオフにすることができますProjectメニューは、IDE機能を失うことはありません。バイナリはSbt(コマンドライン上)でのみ構築されます。

設定アップのための詳細なガイドのScala IDEと2を再生するには、ScalaのIDEのウェブサイト上で見つけることができます:http://scala-ide.org/docs/tutorials/play20scalaide20/index.html

+0

これをオフにすると、私にとって重要な機能が失われています。あるファイルで何かを変更すると、これが他のファイルを壊してしまいますが、これは直接表示されません。 – peq

+1

EclipseビルドパスがPlay/SBTが構築されている場所を指しているか試してみてください。 – pedrofurla

+0

@pedrofurla:試みました。 Did not help - PlayはまだEclipseが既にコンパイルしたソースをコンパイルしたいと思っています.Eclipseはそれ自体をコンパイルするか、クロスファイルエラーを表示/削除しません。 – jsalvata

1

私はまだ日食でプレイ実行SBTタスクを実行しようとしていません。

しかし、eclipseから直接サーバーを実行できます。

  1. 「target/scala-2.9.1/classes」をクラスパスに追加するには、フィルタを使用してアセットのみを追加します。 (プロジェクトプロパティ、Javaビルドパス)
  2. 実行ボタンメニューから "Run Configurations ..."を選択します。
  3. 好きな名前で新しい「Javaアプリケーション」設定を作成します。
  4. メインタブ:あなたのメインクラスとして使用「DebugStart」
  5. 引数タブ:あなたはVM引数
  6. クラスパス]タブで必要になる場合があります任意の「-Dconfig.file = ...」「-Dlogger.file」オプションを設定します:あなたは今、実行またはデバッグしてアプリを起動することができます

    import play.core.server.NettyServer 
    import java.io.File 
    import play.core.SBTLink 
    import play.core.TestApplication 
    import play.api.test.FakeApplication 
    import play.api.test.TestServer 
    
    object DebugStart { 
        def main(args: Array[String]) { 
        val app = FakeApplication() 
        val server = TestServer(9000, app) 
        server.start() 
        } 
    } 
    

    :でDebugStart.scalaを作成します(アドバンスト/フォルダの追加)クラスパスに

をconfディレクトリを追加します。デバッグを使用する場合は、再起動せずにコードを変更することができます。

私のバージョンのDebugStart.scalaには、実行中のプロセスを強制終了するためのプラットフォーム依存のハックコードが含まれているため、F11またはCTRL + F11を押してアプリケーションを再起動できます。あなたの資産/ソースが日付の実行までであることを保証するために

> sbt 
... 
[your project] $ ~ ;play-copy-assets;sources 
+0

設定を調整した後、Eclipseで再生してポート9000でリッスンしても動作しません。コンソールビューは空白のままです(設定エラーやスレッドダンプを要求しない限り)。 :9000、接続を待っているだけです。私はなぜそれを想像することはできません。ヒント? – jsalvata

0

IntelliJのアイデア12(レダ)がすぐに来ています。私はしばらく11を使用していますが、そのような問題はありませんが、新しいバージョンではPlay 2.0との統合がさらに改善されます。

関連する問題