1

問題:

IntelliJIDEA12内からScalaPlay2.0.4アプリケーションを使用していると、Play内からアプリケーションを実行したときにエラーとして表示されない、エラーを強調する赤い構文がたくさん表示されます。コマンドラインで。

質問:

IntelliJIDEA12内からScalaPlay2.0アプリケーションを正常に実行している他の人はいますか?もしそうなら、私がこれをどのように行うかについて、いくつかの提案をいただけますか。

背景情報:

IntelliJ内で新しいプロジェクトを作成するとき、Play 2ホームを〜/ bin / opt / play-2.0.4に設定すると、プロジェクトが作成され、「ProjectFilesChanged」というタイトルのダイアログボックスが表示されます。 ../.idea/misc.xmlが外部から変更されました。変更を有効にするには、プロジェクトをリロードすることをお勧めします。」プロジェクトをリロードするプロンプトを無視し、app /でctl-insを実行すると、次のオプションが表示されます。

  1. Javaクラス
  2. Scalaクラス
  3. ファイル
  4. パッケージ

次に、パッケージ「models」と、以下に示すコードを含むscalaファイル「Models.scala」を作成します。「Hello」は構文が赤で強調表示され、コードにカーソルを合わせると、IDEAは「オブジェクトMyDB内のHello':

package models

case class Hello(id: Int, name: String)

object MyDB {
  val hellos: List[Hello] = List(Hello(1, "Foo"), Hello(2, "Bar"))
}

これで、上記のコードを使用してcreate app / models / Models.scalaを作成でき、強調表示エラーは発生しません。ただし、プロジェクト設定->モジュール->依存関係に移動すると、「sbt-and-plugins」のパスが壊れており、「モジュール'無題':依存関係リストの無効なアイテム'scala-2.9.1'」と表示されます。

一方、「OK」をクリックしてプロジェクトをリロードし、変更を有効にすると、app/でIIctl-insを実行すると、次のオプションが表示されます。

  1. ファイル
  2. ディレクトリ

この2番目のオプションは、コマンドラインでプレイ内からアイデアを生成する場合(およびwith-sources)、およびプロジェクトをコンパイルする場合(アイデアを実行する前または実行した後)にも発生します。

さらにヒントとして、プロジェクトをリロードしない場合、アプリディレクトリは青色になりますが、プロジェクトをリロードすると、アプリディレクトリアイコンは茶色がかった色になります(他のアイコンと同様)。

自分でダウンロードしたplay-2.0.4を使用する場合でも、新しいプロジェクトを作成するときにIntelliJにダウンロードを依頼する場合でも同じです。Play 2.0サポート付きのPlayFrameworkを使用している場合でも、Play2.0サポートのみを使用している場合でも同じです。

詳細については、Arch Linux、Oracle Java 1.7.0_09、scala-2.9.1.final、Play 2.0.4、IntelliJ12.0IU-123.72を実行しています。プラグイン:Scala(0.6.371)、Play 2.0サポート(0.1.86)、Playframeworkサポート(これがある場合とない場合の両方で、同じエラーが発生します)。

アップデート:

スタックトレースhttp://pastebin.com/uWEpv5Gdは、次のように、プロジェクトの作成時にIDEAが例外をスローすることを示しています。

[  87553]  ERROR - com.intellij.ide.IdeEventQueue - Error during dispatching of java.awt.event.InvocationEvent[INVOCATION_DEFAULT,runnable=com.intellij.openapi.progress.util.ProgressWindow$MyDialog$1@3b5a26d6,notifier=null,catchExceptions=false,when=1355073846201] on sun.awt.X11.XToolkit@1bd172ba
4

2 に答える 2

1

私は通常、PlayプロジェクトをIntelliJ12で実行するために次のことを行います。

  1. 新しい「プロジェクト名」を再生して、ターミナルからプロジェクトを作成します
  2. 新しいフォルダ「projectname」に移動します
  3. プレイアイデアを実行する
  4. IntelliJでそのフォルダーを開き、構文の強調表示を有効にします

お役に立てれば

于 2012-12-10T10:47:34.393 に答える
1

問題はJVMではなく、Play2.0プラグインにあります。1.7および1.6のさまざまなJVMでテストしましたが、それでも同じ問題が発生していました。構成ディレクトリを削除してIntellijIDEA12のフレッシュインストールを試しましたが、同じことをしていました。IDEA 12で新しいプロジェクトを作成すると、ターゲットのディレクトリ構造は次のようになります。

[ambantis@okosmos target]$ tree
.
├── scala-2.9.1
│   └── cache
│       └── update
│           ├── inputs
│           └── output
└── streams
    └── $global
        ├── ivy-configuration
        │   └── $global
        │       └── out
        ├── ivy-sbt
        │   └── $global
        │       └── out
        ├── project-descriptors
        │   └── $global
        │       └── out
        └── update
            └── $global
                └── out

13 directories, 6 files

不足しているのは/target/scala-2.9.1/classesと/target/scala-2.9.1/classes_managedです。解決策は次のとおりです。

ビルドプロセス後、「プロジェクトファイルが変更されました」というダイアログボックスが表示された場合は、次のようになります。 ここに画像の説明を入力してください

[OK]をクリックせず、代わりにエスケープします。次に、Play Consoleを開き、アプリケーションをコンパイルします。この時点で動作します。未使用のjarファイルがあるというエラーのみが表示されますが、それ以外の場合はすべて正常に機能します。

于 2012-12-17T18:35:46.670 に答える