在没有Jetty的情况下运行GWT Speedtracer

我们正在尝试运行GWT(2.1)Speedtracer,但是它有问题,因为Jetty不接受我们的JDBC资源(它们在Tomcat中工作正常) – 可能是因为它找不到包含驱动程序的JAR。

有没有办法让GWT speedtracer在没有Jetty服务器的情况下运行?

或者如何使web.xml / context.xml与Tomcat和Jetty兼容?

我宁愿在Jetty中运行它 – 只要这不会导致tomcat出现问题。

如果要使用Tomcat:

GWT文档提到 ,您可以在服务器端使用Speed Tracer和SpringSource tc Server(它是Tomcat服务器)。

如果你想使用Jetty:

使用DataSources与嵌入式GWT Jetty服务器是可能的,但并不容易。 这篇关于GWT 1.6的Google Grouppost对此进行了解释。 我用GWT 2.1尝试了这个,它基本上保持相同的程序。 这是一个快速概述:

  • 为嵌入式Jetty启用JNDI:
    • 添加jetty-naming-*.jarjetty-plus-*.jar
    • 修改JettyLauncher,
    • 添加VM arg -Djava.naming.factory.initial=org.mortbay.naming.InitialContextFactory (或使用jndi.properties)
  • 创建一个jetty-env.xml(类似于Tomcat的context.xml)
  • 在web.xml中定义resource-ref