मैं जेटी एम्बेड करके एक वेब सर्वर विकसित करने की कोशिश कर रहा हूं। तो जेटी 7.3 के साथ सब कुछ ठीक काम किया। कल मैंने जेटी लिब्री को नवीनतम संस्करण 8.0.3 में अपडेट किया था और अब मुझे ServletContextHandler बनाकर अपवाद मिलता है।जेटी 7 को जेटी 8 अपडेट करना: java.lang.NoClassDefFoundError: javax/servlet/filterRegistration
Exception in thread "main" java.lang.NoClassDefFoundError: javax/servlet/FilterRegistration at org.eclipse.jetty.servlet.ServletContextHandler.(ServletContextHandler.java:126) at org.eclipse.jetty.servlet.ServletContextHandler.(ServletContextHandler.java:106) at org.eclipse.jetty.servlet.ServletContextHandler.(ServletContextHandler.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 जावा संस्करण " 1.6.0_22 " ओपनजेडीके रनटाइम पर्यावरण (आईसीएसटीए 6610.2) (6 बी 22-1.10.2-0ubuntu1 ~ 11.04.1) ओपनजेडीके 64-बिट सर्वर वीएम (बिल्ड 20.0-बी 11, मिश्रित मोड)
क्या किसी के पास कोई सुझाव है?
अपने answere के लिए धन्यवाद, लेकिन im अभी भी सोच रहा जहां सर्वलेट 3.0 एपीआई डाउनलोड करने के लिए उपलब्ध है? क्या जावा एसई जेडीके 1.6 अपडेट 22 (ओपनजेडीके) सर्वलेट 3.0 प्रदान नहीं करता है? मैं उलझन में ... – sockeqwe
आप इसे पहले ही डाउनलोड कर चुके हैं। जेटी 8 एक सर्वलेट 3.0 एपीआई कार्यान्वयन है। आपको केवल यह समझने की आवश्यकता है कि जावा ईई एपीआई ** अमूर्त ** (यानी वे केवल चश्मा और जावाडॉक्स के रूप में पेपर में मौजूद हैं) और जेटी, टॉमकैट, ग्लासफ़िश, जेबॉस एएस इत्यादि जैसे ठोस जावा ईई/सर्वलेट कंटेनर हैं .etc .. ** ठोस ** कार्यान्वयन हैं (यानी वे कोड और पुस्तकालय शामिल हैं)। – BalusC
ठीक है, यह तर्क में मेरी त्रुटि थी। मैंने सभी जेटी लिबरियां शामिल की हैं, लेकिन अपवाद अभी भी – sockeqwe