मैं अमेज़ॅन की क्लाउड सेवाओं का उपयोग करके एक वेबपैप विकसित कर रहा हूं और मुझे JSON ऑब्जेक्ट्स का उपयोग करने की आवश्यकता है। मेरी परियोजना कैसे स्थापित की गई है, मेरे पास एक HTML फॉर्म है जहां उपयोगकर्ता अपनी जानकारी भरकर सबमिट करेगा। एक बार सबमिट करने के बाद डेटा को ऑनलाइन डेटाबेस में रखा जाएगा और उन्हें एक पुष्टिकरण ईमेल भेजा जाएगा। डेटा बेस पर डेटा जमा करने से पहले मुझे इसे सभी JSON ऑब्जेक्ट में रखना होगा। मेरे सर्वलेट, जावा में किया, इस तरह दिखता है:NoClassDefFoundError JsonAutoDetect JSON ऑब्जेक्ट को पार्स करते समय
public class FormHandling extends HttpServlet {
//doGet function
public void doGet (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// In this part of the code I take in the user data and build an HTML
// page and return it to the user
// Create String Mapping for User Data object
Map<String,Object> userData = new HashMap<String,Object>();
// Map the names into one struct. In the code below we are creating
// values for the nameStruct from the information the user has
// submitted on the form.
Map<String,String> nameStruct = new HashMap<String,String>();
nameStruct.put("fName", request.getParameter("fname"));
nameStruct.put("lName", request.getParameter("lname"));
nameStruct.put("mInit", request.getParameter("minit"));
// Map the three email's together (providing there are 3).
// This is the same logic as the names.
Map<String,String> emailStruct = new HashMap<String,String>();
emailStruct.put("email", request.getParameter("email1"));
emailStruct.put("email", request.getParameter("email2"));
emailStruct.put("email", request.getParameter("email3"));
// Put Name Hash Value Pair inside User Data Object
userData.put("name", nameStruct);
userData.put("emails", emailStruct);
userData.put("age", 22);
// Create the Json data from the userData
createJson(userData);
// Close writer
out.close();
}
public File createJson(Map<String,Object> userData)
throws JsonGenerationException, JsonMappingException, IOException {
File user = new File("user.json");
// Create mapper object
ObjectMapper mapper = new ObjectMapper();
// Add the userData information to the json file
mapper.writeValue(user, userData);
return user;
}
}
मुझे इस कोड मैं निम्न त्रुटि संदेश मिलता है का उपयोग कर प्रपत्र सबमिट:
java.lang.NoClassDefFoundError: com/fasterxml/jackson/annotation/JsonAutoDetect com.fasterxml.jackson.databind.introspect.VisibilityChecker$Std.(VisibilityChecker.java:169) com.fasterxml.jackson.databind.ObjectMapper.(ObjectMapper.java:197) edu.tcnj.FormHandling.createJson(FormHandling.java:115) edu.tcnj.FormHandling.doGet(FormHandling.java:104) edu.tcnj.FormHandling.doPost(FormHandling.java:131) javax.servlet.http.HttpServlet.service(HttpServlet.java:641) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
अब मुझे पता है कि त्रुटि का अर्थ है कि यह नहीं ' जैक्सन डेटाबेस पुस्तकालय खोज नहीं। मैं ग्रहण में विकास कर रहा हूं और मुझे पता है कि बिल्ड पथ समय-समय पर गड़बड़ कर रहा है, इसलिए मैंने पुस्तकालयों को वेबकंटेंट \ WEB-INF \ lib फ़ोल्डर में भी रखा है। इससे पहले के मुद्दों को हल किया गया है। हालांकि, यह इस समय मेरी समस्या को हल करने के लिए प्रतीत नहीं होता है। मैंने जार फ़ाइलों को भौतिक रूप से जांचने के लिए भी खोला है कि पुस्तकालय और कक्षा की आवश्यकता है, और वे हैं। मैंने लाइब्रेरी को शामिल करने के लिए पूरी तरह से खोज करने और विभिन्न तरीकों की तलाश करने की कोशिश की है लेकिन कुछ भी काम नहीं करता है।
आप हमें आप उपयोग कर रहे जैक्सन पुस्तकालय का कौन सा संस्करण पता है सकते हैं? –
मैं दो जार, 'जैक्सन कोर-lgpl-1.5.6.jar' और' जैक्सन-नक्शाकार-lgpl-1.5.6.jar' जरूरत –
बाहर कर देता है मैं एक तिहाई जार याद आ रही थी .... ओह। बहुत आसन। मेरे लिए मैं जैक्सन DataBind, कोर, और एनोटेशन पुस्तकालयों का उपयोग करने की आवश्यकता है। मैं संस्करण 2.0 का उपयोग कर रहा हूँ। एक बार मुझे लगता है कि तीसरे जार पाया यह खुश थी। फिर भी आपका धन्यवाद! – jhahn