2012-07-09 18 views
6

मैं निम्न त्रुटि हो रही है में आयात नहीं किया जा रहा है - मैं अपने निर्भरता में GSon जोड़ लिया है -GSON Maven pproject

किसी का कहना है सकते हैं कि मैं गलत क्या कर रहा हूँ?

enter image description here

संपादित करें: निर्भरता निर्दिष्ट -

<dependency> 
     <groupId>com.google.code.gson</groupId> 
     <artifactId>gson</artifactId> 
     <version>1.7.1</version> 
    </dependency> 

मैं अपने sevlet में निम्नलिखित कोड का उपयोग कर रहा -

JSONService json = new JSONService(); 
    String json_output = json.makeLoginJSON(user); 

makeLoginJSON ---

public String makeLoginJSON(LoginDetails user) { 
    String FinalJson = null; 
    Gson gson = new Gson(); 
    FinalJson = gson.toJson(user);  
    return FinalJson;  
} 
+0

आपकी मेवेन निर्भरता घोषणा क्या है? –

+0

आप अपनी परियोजना बनाने के लिए क्या उपयोग कर रहे हैं? और कृपया अपनी निर्भरता कॉन्फ़िगरेशन – Dave

+0

पोस्ट करें, यह सुलभ है, कृपया मैवेन निर्भरताओं को अपडेट करने का प्रयास करें, अगर यह काम नहीं करता है, तो कृपया स्थानीय मैवेन रिपोजिटरी से पैकेज को निकालने का प्रयास करें और इसे फिर से डाउनलोड करने के लिए मजबूर करें। इसे एक नए संस्करण के साथ भी आजमाएं। –

उत्तर

11

आज़माएं:

<dependency> 
     <groupId>com.google.code.gson</groupId> 
     <artifactId>gson</artifactId> 
     <version>2.1</version> 
     <scope>provided</scope> 
</dependency> 

मैंने अपनी टिप्पणी संपादित की है और दायरा जोड़ा है। डिफ़ॉल्ट दायरा संकलित है, जिसका अर्थ है कि निर्भरता रनटाइम पर मौजूद नहीं है। इसके लिए, आप स्कोप प्रदान करते हैं। अपाचे के Introduction to Maven Dependencies पर मेवेन निर्भरताओं में स्कॉप्स के बारे में अधिक जानकारी।

आशा है कि यह आपकी समस्या का समाधान करेगा।

पीएस .: यदि आप अपना खुद का भंडार बना रहे हैं, तो आपको here भी देखना चाहिए।

+0

ग्रहण मुझे कोई त्रुटि नहीं दे रहा है ... मैं कर सकता हूं "आयात com.google.gson.Gson;" – Fox

+0

क्या आपने प्रोजेक्ट के क्लासपाथ में मैन्युअल रूप से जीसन लाइब्रेरी को जोड़ने का प्रयास किया था? ताकि आपको यह पता चल जाए कि यह मेवेन से संबंधित समस्या है या नहीं। मैं सोच रहा हूं कि शायद यह एक क्लासपाथ समस्या है, हालांकि मैवेन को सैद्धांतिक रूप से इसे हल करना चाहिए (इसे देखें: http://stackoverflow.com/questions/4961336/i-am-getting-java-lang-classnotfoundexception-com-google- gson-gson-error-even) –

-1

प्रयास करें:

<dependency> 
    <groupId>com.alibaba</groupId> 
    <artifactId>fastjson</artifactId> 
    <version>1.1.21</version> 
</dependency> 

बहुत तेज, उपयोग करने के लिए सरल।

VO obj = ...; 
String jsonString = JSON.toJSONString(obj); 

VO obj2 = JSON.parseObject(jsonString, VO.class); 
+0

डाउनवॉटेड क्योंकि यह प्रश्न का उत्तर नहीं है। – pizzamonster

3

बस राउल के जवाब पर एक स्पष्टीकरण - अच्छा है कि यह आप के लिए काम करता है, लेकिन प्रदान की निर्भरता कि JRE/JDK से उपलब्ध होने की उम्मीद कर रहे हैं, यानी सर्वलेट कक्षाओं के लिए है। संकलन डिफ़ॉल्ट है और अन्य लोगों के मामलों में काम करना चाहिए, क्योंकि जीएसएन जेआरई से उपलब्ध नहीं है, इसके बजाय इसे मैवेन द्वारा डाउनलोड किया जाना चाहिए। http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope से:

संकलन यह डिफ़ॉल्ट गुंजाइश, यदि कुछ भी निर्दिष्ट किया जाता है। संकलन निर्भरता एक परियोजना के सभी कक्षाओं में उपलब्ध हैं। इसके अलावा, उन निर्भरताओं को निर्भर परियोजनाओं के लिए प्रचारित किया जाता है।

प्रदान की यह बहुत संकलन तरह है, लेकिन यह संकेत करता है कि आप JDK या एक कंटेनर रनटाइम पर निर्भरता प्रदान करने के लिए उम्मीद है। उदाहरण के लिए, जावा एंटरप्राइज़ संस्करण के लिए वेब एप्लिकेशन बनाने के दौरान, आप सर्वलेट एपीआई और संबंधित जावा ईई एपीआई पर निर्भरता सेट करने के लिए निर्भरता सेट करेंगे क्योंकि वेब कंटेनर उन वर्गों को प्रदान करता है। यह गुंजाइश केवल संकलन और परीक्षण वर्गपथ पर उपलब्ध है, और यह संक्रमणीय नहीं है।

रनटाइम यह दायरा इंगित करता है कि संकलन के लिए निर्भरता की आवश्यकता नहीं है, लेकिन निष्पादन के लिए है। यह रनटाइम और टेस्ट क्लासपाथ में है, लेकिन संकलित क्लासपाथ नहीं है।

परीक्षण यह गुंजाइश इंगित करता है कि निर्भरता आवेदन के सामान्य उपयोग के लिए आवश्यक नहीं है, और परीक्षण संकलन और निष्पादन चरणों के लिए ही उपलब्ध है।

सिस्टम यह दायरा प्रदान करने के समान है सिवाय इसके कि आपको जार प्रदान करना होगा जिसमें यह स्पष्ट रूप से शामिल है। आर्टिफैक्ट हमेशा उपलब्ध है और एक भंडार में नहीं देखा जाता है।

आयात (Maven 2.0.9 या बाद में ही उपलब्ध) यह गुंजाइश ही खंड में प्रकार पोम की निर्भरता पर प्रयोग किया जाता है। यह इंगित करता है कि निर्दिष्ट पीओएम को उस पीओएम के अनुभाग में निर्भरताओं के साथ प्रतिस्थापित किया जाना चाहिए। चूंकि उन्हें प्रतिस्थापित किया गया है, आयात के दायरे वाले निर्भरता वास्तव में निर्भरता की पारगमनशीलता को सीमित करने में भाग नहीं लेती हैं।

+0

इस पोस्ट के लिए धन्यवाद! – user123321