我有一台服务器,它将作为其职责的一部分提供一些网络内容。它使用嵌入式Jetty,我想为它添加一些Lift的美感(模板,演员等)。
问题是所有电梯示例都使用Jetty作为容器。有没有办法在我的嵌入式Jetty中启动Lift?如果是的话,怎么样?
答案 0 :(得分:5)
找到答案: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的工件。