16

最新の Play 2 および Scala プラグインを使用して、IntelliJ 13.1 でタイプ セーフなアクティベーター プロジェクトの 1 つを実行しようとしています。

タイプセーフ アクティベーターを使用してプロジェクトを問題なく実行できますが、IntelliJ のファイルを介してアクティベーター プロジェクトを開こうとすると、 Play 2 アプリの実行構成build.sbtを介して実行しようとするまで、すべてが機能しているように見えます。次のエラーが表示されます。

"C:\Program Files\Java\jdk1.8.0\bin\java" -Dfile.encoding=UTF8 -Djline.terminal=none -Dsbt.log.noformat=true -Dsbt.global.base=C:\Users\nw\AppData\Local\Temp\sbt-global-plugin5970836074908902993stub -Xms512M -Xmx1024M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M -classpath C:\Users\nw\.IntelliJIdea13\config\plugins\Scala\launcher\sbt-launch.jar xsbt.boot.Boot run
    Getting org.fusesource.jansi jansi 1.11 ...
    :: retrieving :: org.scala-sbt#boot-jansi
        confs: [default]
        1 artifacts copied, 0 already retrieved (111kB/37ms)
    Getting org.scala-sbt sbt 0.13.0 ...
    :: retrieving :: org.scala-sbt#boot-app
        confs: [default]
        43 artifacts copied, 0 already retrieved (12440kB/109ms)
    Getting Scala 2.10.2 (for sbt)...
    :: retrieving :: org.scala-sbt#boot-scala
        confs: [default]
        5 artifacts copied, 0 already retrieved (24390kB/62ms)
    [info] Set current project to modules (in build file:/J:/DEV/TYPESAFE/reactive-maps/.idea/modules/)
    java.lang.RuntimeException: No main class detected.
        at scala.sys.package$.error(package.scala:27)
    [trace] Stack trace suppressed: run 'last compile:run' for the full output.
    [error] (compile:run) No main class detected.
    [error] Total time: 0 s, completed 02/04/2014 10:31:12 PM
    Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256M; support was removed in 8.0

    Process finished with exit code 1

私のbuild.sbtは次のようになります。

name := """reactive-maps"""

version := "1.0-SNAPSHOT"

libraryDependencies ++= Seq(
  "com.typesafe.akka" %% "akka-actor" % "2.2.1",
  "com.typesafe.akka" %% "akka-contrib" % "2.2.1",
  "com.typesafe.play.extras" %% "play-geojson" % "1.0.0",
  "org.webjars" %% "webjars-play" % "2.2.1",
  "org.webjars" % "bootstrap" % "3.0.0",
  "org.webjars" % "knockout" % "2.3.0",
  "org.webjars" % "requirejs" % "2.1.8",
  "org.webjars" % "leaflet" % "0.7.2"
)

play.Project.playScalaSettings

sbt runプロジェクト フォルダーのコマンド ラインから実行するだけで問題なく動作します。そのため、SBT プロジェクトのインポート方法に問題があります。

4

2 に答える 2

10

同じ問題に遭遇しました-私のプロジェクトは次のように設定されています:

root/
  .idea/
  MainApp/ <-- this one is a Play 2.2.2 project
    .idea/
    apps/ <-- contains other Play2 projects

プロジェクトを実行しようとしましMainAppたが、同じ問題がありました。

実行エラーに気付いた場合:[info] Set current project to modules (in build file:/J:/DEV/TYPESAFE/reactive-maps/.idea/modules/)

プロジェクトをに設定していると述べていますmodules。あなたはそれがしたいですreactive-maps

私も同じことをしました-私の簡単な解決策:

-- ファイルを見つけて.idea/modules/reactive-maps.iml、ルート レベルreactive-maps/ディレクトリに移動します。

-- ファイルを開きますCtrl-F Ctrl-R(検索と置換)。

-- 検索:$MODULE_DIR$/../..置換:$MODULE_DIR$/

Play2 アプリケーションを再度実行すると、この時点で機能しました。

理想的な解決策は、それを正しくインポートすることです(これを行う方法があると確信しています)が、これにより、IntelliJを介してアプリケーションをすばやく実行できました(ただし、再起動/ SBTの更新で壊れる可能性があります)。

于 2014-04-21T22:33:27.133 に答える