更新日期 - 2021 年 8 月
从 Jetty 10.0.0 开始,此过程已发生变化(包括 Jetty 11.0.0)
的存在jetty-annotations-<ver>.jar
类路径上的 足以启用 servlet 和 websocket 层的注释和字节码扫描。
The WebAppContext.setConfiguration(...)
不应再使用该方法。
旧的示例项目已存档并替换为
https://github.com/jetty-project/embedded-servlet-server
有一些例子...
Servlet API Version |
Jetty Version |
New Branch |
3.1 |
Jetty 9.4.x |
embedded-servlet-server : jetty-9.4.x |
4.0 |
Jetty 10.x |
embedded-servlet-server : jetty-10.0.x |
5.0 |
Jetty 11.x |
embedded-servlet-server : jetty-11.0.x |
原始答案 - 2014 年 9 月
您需要适当地定义 WebAppContext 配置(并以正确的顺序)。
wacHandler.setConfigurations(new Configuration[]
{
new AnnotationConfiguration(),
new WebInfConfiguration(),
new WebXmlConfiguration(),
new MetaInfConfiguration(),
new FragmentConfiguration(),
new EnvConfiguration(),
new PlusConfiguration(),
new JettyWebXmlConfiguration()
});
不要忘记添加jetty-annotations.jar
.
这是来自EmbedMe.java例如嵌入式码头与 Servlet 3.1 一起使用,位于
https://github.com/jetty-project/embedded-servlet-3.1/