Play framework - java.lang.RuntimeException:未检测到主类

时间:2014-07-10 19:31:37

标签: java playframework securesocial

我是新手玩框架并尝试像https://github.com/jaliss/securesocial一样运行securesocial 使用Play 2.3,Scala 2.10.0

.sbt文件配置为

name := "SecureSocial-parent"

version := Common.version

scalaVersion := Common.scalaVersion

lazy val core =  project.in( file("module-code") ).enablePlugins(PlayScala)

lazy val scalaDemo = project.in( file("samples/scala/demo") ).enablePlugins(PlayScala).dependsOn(core)

lazy val javaDemo = project.in( file("samples/java/demo") ).enablePlugins(PlayJava).dependsOn(core)

lazy val root = project.in( file(".") ).aggregate(core, scalaDemo, javaDemo) .settings(
     aggregate in update := false
   )

但低于错误

~\securesocial-master>activator run
[info] Loading project definition from ~\securesocial-master\project
[info] Set current project to SecureSocial-parent (in build file:~/securesocial-master/)
java.lang.RuntimeException: No main class detected.
        at scala.sys.package$.error(package.scala:27)
[trace] Stack trace suppressed: run last securesocial-master/compile:run for the full output.
[error] (securesocial-master/compile:run) No main class detected.

该项目已成功编译,并对已弃用的API发出了许多警告 任何指针对如何解决无主类错误

都很有用

2 个答案:

答案 0 :(得分:6)

刚遇到同样的问题。我虽然使用scala版本。我直接从samples / scala / demo文件夹运行示例应用程序(通过在终端中键入activator)。

启动并运行它的关键是将以下行添加到scalaDemo.sbt

lazy val root = (project in file(".")).enablePlugins(PlayScala)

应该是

lazy val root = (project in file(".")).enablePlugins(PlayJava)

进入javaDemo.sbt文件,因为您运行的是Java版本。

我可以看到应用程序何时启动,我在公共文件夹中加载一些GIF时遇到问题,所以这可能是错误的方法。

答案 1 :(得分:6)

据我了解,SecureSocial-parent只是库 - 它可以编译,但不能运行本身。您只能运行演示项目。例如,如果您在activator目录中启动securesocial,则可以键入

project javaDemo

切换到Java演示项目然后

~run

运行它。