Я пытаюсь разработать веб-сервер, внедрив причал.Так что с молой 7.3 все работало нормально.Вчера я обновил библиотеки Jetty до последней версии 8.0.3 и теперь получаю исключение, создав ServletContextHandler.
Исключение в потоке "main" java.lang.NoClassDefFoundError: javax / servlet / FilterRegistrationпо адресу org.eclipse.jetty.servlet.ServletContextHandler. (ServletContextHandler.java:126) по адресу org.eclipse.jetty.servlet.ServletContextHandler. (ServletContextHandler.java:106) Servlet.Herlet.java: 94) at org.gemsjax.server.GemsJaxServer.main (GemsJaxServer.java:38)
Итак, что я делаю:
public static void main(String[] args) {
Server server = new Server(8080);
ServletContextHandler servletContext = new ServletContextHandler(ServletContextHandler.SESSIONS);
servletContext.setContextPath("/servlets");
servletContext.addServlet(new ServletHolder( new CollaborationWebSocketServlet()),"/collaboration");
// The ResourceHandler to handle static web content
ResourceHandler resourceHandler = new ResourceHandler();
resourceHandler.setDirectoriesListed(true);
resourceHandler.setWelcomeFiles(new String[]{ "index.html" });
resourceHandler.setResourceBase("./war/");
ContextHandler resourceContext = new ContextHandler();
resourceContext.setContextPath("/static");
resourceContext.setHandler(resourceHandler);
HandlerCollection handlers = new HandlerCollection();
handlers.addHandler(resourceContext);
handlers.addHandler(servletContext);
server.setHandler(handlers);
try {
server.start();
server.join();
} catch (Exception e) {
e.printStackTrace();
}
}
Итак, строка, которая выбрасываетисключение:
ServletContextHandler servletContext = new ServletContextHandler(ServletContextHandler.SESSIONS);
Я использую ubuntu 11.04 с:
openjdk java version "1.6.0_22" Среда выполнения OpenJDK (IcedTea6 1.10.2) (6b22-1.10.2-0ubuntu1~ 11.04.1) Виртуальная 64-битная серверная виртуальная машина OpenJDK (сборка 20.0-b11, смешанный режим)
У кого-нибудь есть предложения?