RE: sbt java.lang.RuntimeException: No main class detected.

3,666 views
Skip to first unread message

S Ahmed

unread,
Mar 26, 2013, 8:41:37 PM3/26/13
to scala...@googlegroups.com
I have a single file app Web.scala:

import org.jboss.netty.handler.codec.http.{HttpRequest, HttpResponse}
import com.twitter.finagle.builder.ServerBuilder
import com.twitter.finagle.http.{Http, Response}
import com.twitter.finagle.Service
import com.twitter.util.Future
import java.net.InetSocketAddress
import util.Properties

object Web {
  def main(args: Array[String]) {
    val port = Properties.envOrElse("PORT", "8080").toInt
    println("Starting on port:"+port)
    ServerBuilder()
      .codec(Http())
      .name("hello-server")
      .bindTo(new InetSocketAddress(port))
      .build(new Hello)
    println("Started.")
  }
}

class Hello extends Service[HttpRequest, HttpResponse] {
  def apply(req: HttpRequest): Future[HttpResponse] = {
    val response = Response()
    response.setStatusCode(200)
    response.setContentString("Hello World...\n")
    Future(response)
  }
}


With sbt, if I do:

> run
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 Mar 26, 2013 8:39:24 PM
> run last compile:run
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 Mar 26, 2013 8:39:28 PM


How can I get this to run the main class?  This worked yesterday for me but I just upgraded sbt.

>sbt launcher version 0.12.2
>Scala code runner version 2.9.2 -- Copyright 2002-2011, LAMP/EPFL


Eduardo M. Cavalcanti

unread,
Mar 26, 2013, 11:58:16 PM3/26/13
to scala...@googlegroups.com
Try
def main(args: Array[String]): Unit
instead of

def main(args: Array[String])

--
You received this message because you are subscribed to the Google Groups "scala-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Reply all
Reply to author
Forward
0 new messages