【发布时间】:2012-01-27 13:09:28
【问题描述】:
我有一台服务器,作为其职责的一部分,它将提供一些网络内容。它使用嵌入式 Jetty 工作,我想为它添加一些 Lift 的美感(模板、演员等)。
问题是所有电梯示例都使用 Jetty 作为容器。有没有办法在我的嵌入式 Jetty 中启动 Lift?如果是,如何?
【问题讨论】:
标签: scala jetty lift embedded-jetty
我有一台服务器,作为其职责的一部分,它将提供一些网络内容。它使用嵌入式 Jetty 工作,我想为它添加一些 Lift 的美感(模板、演员等)。
问题是所有电梯示例都使用 Jetty 作为容器。有没有办法在我的嵌入式 Jetty 中启动 Lift?如果是,如何?
【问题讨论】:
标签: scala jetty lift embedded-jetty
找到答案:RunWebApp.scala
import _root_.org.mortbay.jetty.Connector
import _root_.org.mortbay.jetty.Server
import _root_.org.mortbay.jetty.webapp.WebAppContext
import org.mortbay.jetty.nio._
object RunWebApp extends Application {
val server = new Server
val scc = new SelectChannelConnector
scc.setPort(8080)
server.setConnectors(Array(scc))
val context = new WebAppContext()
context.setServer(server)
context.setContextPath("/")
context.setWar("src/main/webapp")
server.addHandler(context)
try {
println(">>> STARTING EMBEDDED JETTY SERVER, PRESS ANY KEY TO STOP")
server.start()
while (System.in.available() == 0) {
Thread.sleep(5000)
}
server.stop()
server.join()
} catch {
case exc : Exception => {
exc.printStackTrace()
System.exit(100)
}
}
}
我现在唯一的问题是使用 Lift 2.4、Scala 2.9.1 和 Eclipse Jetty 构建它 - 目前我只能找到 Lift 2.3、Scala 2.8.1 和 Mortbay Jetty 的工件。
【讨论】: