我刚从8开始上升到Jetty 9并且有一个奇怪的问题 . 我的开发环境是一场爆炸性的战争,所以我只需将一个符号链接(ROOT)放入我的jetty / webapps目录中,指向我爆炸的战争 . 这对Jetty 8来说效果很好,但Jetty 9似乎失败了 .
首先,根据文档,符号链接现在是“root” . 但当我点击我的服务器'/'它给我一个404和这个:
Error 404 - Not Found.
No context on this server matched or handled this request.
Contexts known to this server are:
/war ---> o.e.j.w.WebAppContext@613714d3{/war,file:/home/george/git/s/web_app/war/,AVAILABLE}{/home/george/git/s/web_app/war}
这意味着我可以在'/ war'而不是'/'下找到我的应用程序 . 古怪 .
1 回答
这是由于一系列的变化,主要指向Java 7的使用以及对最新Servlet规范的要求 .
很容易修复你的情况 .
不要使用OS符号链接 .
使用以下内容创建名为
${jetty.home}/webapps/mywebapp.xml
的文件全部完成后,您现在基本上使用Jetty Deployable XML Descriptor将
contextPath
设置为/
(也称为Servlet Spec Root)并指向您要部署的战争 .