я пытаюсь разработать веб-сервер, встраивая причал. Так что с причалом 7.3 все работало нормально. Вчера я обновил библиотеки пристани до последней версии 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) в org.eclipse.jetty.servlet.ServletContextHandler. (ServletContextHandler.java:94) в org.gemsjax. .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, смешанный режим)
Есть ли у кого-нибудь предложения?