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

ad-*_*inf 11 java playframework securesocial

我是新手玩框架并尝试运行securesocial,如https://github.com/jaliss/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
   )
Run Code Online (Sandbox Code Playgroud)

但低于错误

~\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.
Run Code Online (Sandbox Code Playgroud)

该项目已成功编译,对已弃用的API提出了许多警告.任何指针对于解决无主类错误都很有用

use*_*691 6

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

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

lazy val root = (project in file(".")).enablePlugins(PlayScala)
Run Code Online (Sandbox Code Playgroud)

应该是

lazy val root = (project in file(".")).enablePlugins(PlayJava)
Run Code Online (Sandbox Code Playgroud)

进入javaDemo.sbt文件,因为您正在运行Java版本.

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


vek*_*tor 6

据我所知,SecureSocial-parent只是库 - 它可以编译,但本身不能运行.您只能运行演示项目.例如,如果从目录开始activator,则securesocial可以键入

project javaDemo
Run Code Online (Sandbox Code Playgroud)

然后切换到Java演示项目

~run
Run Code Online (Sandbox Code Playgroud)

运行它.