2015-10-14 14 views
5

मैं एक्सेलिप लुना (संस्करण 4.4.2) और ग्लासफ़िश 4 का उपयोग कर रहा हूं ताकि जेएक्स-आरएस का उपयोग कर एक आरईएसटी वेब-ऐप बनाया जा सके।ग्रहण और ग्लासफ़िश के साथ जेएक्स-आरएस का उपयोग करते समय क्लास नहीं मिला

@POST 
public Response addToWatchlist(WatchlistEntry watchlistentry) 
{ 
    return Response.ok(watchlist_service.addToWatchlist(watchlistentry).toString()).build(); 
} 

त्रुटि के नीचे है::

कोड का यह टुकड़ा, जो सिर्फ REST API कि पहले ठीक काम कर रहा था करने के लिए एक बहुत ही सरल पोस्ट है, एक बहुत ही अजीब त्रुटि फेंक शुरू कर दिया है https://java.net/jira/browse/JERSEY-2888

टिप्पणियों में से एक यह कहते हैं:

Warning: StandardWrapperValve[Jersey Web Application]: Servlet.service() for servlet Jersey Web Application threw exception 
java.lang.ClassNotFoundException: javax.xml.parsers.ParserConfigurationException not found by org.eclipse.persistence.moxy 

सभी मैं इस बारे में पता लगाने के लिए सक्षम किया गया है इस वेबपृष्ठ है EclipseLink 2.6.1 और जर्सी 2.1 9 में तय किया गया है।

मैवेन और ग्रहण का उपयोग करने के लिए मैं काफी नया हूं - मान लीजिए कि उपर्युक्त सही है, मैं जर्सी संस्करण को अद्यतन करने के लिए ग्रहण में अपना मेवेन प्रोजेक्ट कैसे प्राप्त करूं? मैं एक्लिप्ससेंक संस्करण को कैसे अपडेट करूं? उनकी साइट में केवल संस्करण 2.6.0 उपलब्ध है: http://www.eclipse.org/eclipselink/#download

मुझे लगता है कि यह सब ग्रहण के माध्यम से किया जा सकता है?

सभी मदद की सराहना की!

संपादित करें 1: ऐसा लगता है eclipselink 2.6.1 तरह अक्टू 15 वीं 2015 को जारी की गई है, जैसा कि आप देख सकते हैं: http://www.eclipse.org/eclipselink/releases/

लेकिन, जैसा कि आप यहाँ देख सकते हैं, यह है प्रतीत नहीं होता है "सहायता -> अद्यतन सॉफ़्टवेयर" के लिए ग्रहण में शामिल किया गया है: http://download.eclipse.org/rt/eclipselink/updates/

जो अत्यधिक परेशान है।

मैं अपनी आरईएसटी वेबसाइट बना रहा हूं, और इस त्रुटि के कारण कोई पुट या पोस्ट काम नहीं करेगा।

क्या कोई जानता है कि 2.6.1 कैसे काम करना है? मैं एक मेवेन जर्सी-क्विकस्टार्ट-वेबएप प्रोजेक्ट का उपयोग कर रहा हूं।

यह बग चेहरे में शाही दर्द है।

संपादित करें 2: मुझे आज एक हैक मिल रहा है। जब मैं programmtically जाँच eclipselink का कौन सा संस्करण नीचे की तरह रनटाइम पर इस्तेमाल किया जा रहा है, यह मुझसे कहता है यह, संस्करण 2.6.1 है भले ही बग बनी हुई है:

Class<?> myClass = Class.forName("org.eclipse.persistence.Version"); 
Method myMethod = myClass.getMethod("getVersion"); 
String version = myMethod.invoke(null).toString(); 
System.out.println("version = " + version); 

एक संबंधित सवाल में (How to find what version of EclipseLink my Eclipse Project is using?) मुझे पता चला कैसे वास्तविक जार फ़ाइलों को खोजने के लिए ग्लासफ़िश ग्रहण के लिए उपयोग कर रहा है। वे ग्लासफ़िश/मॉड्यूल निर्देशिका में हैं। Org.eclipse.persistence.core.jar फ़ाइल के अंदर एक readme.html होगा जो आपको eclipselink का संस्करण बताता है जो ग्लासफ़िश का उपयोग कर रहा है। मेरे लिए यह 2.6 था।

मैंने मैन्युअल साइट से नवीनतम संस्करणों के साथ org.eclipse.persistence.core.jar और org.eclipse.persistence.moxy.jar फ़ाइल को मैन्युअल रूप से अपडेट किया है। हालांकि यह काफी हैकी है, क्योंकि मुझे नहीं पता कि ऐसा करने से और क्या प्रभावित होता है, यह इस समस्या से अधिक हो जाता है। अगर मुझे ऐसा करने का सही तरीका पता चलता है, तो मैं सब कुछ और सैंड्री के लिए नीचे एक उत्तर लिखूंगा।

+0

मुझे यकीन है कि अद्यतन मुझे 2.6.1 (लेकिन 2.6.2 नहीं) जब मैं उन्हें कोशिश करता हूं Feb-2016। –

+0

हाँ - जब मैं अपने प्रोजेक्ट में कोड का उपयोग करके कोशिश करता हूं कि यह देखने के लिए कि eclipselink का कौन सा संस्करण उपयोग कर रहा है, यह 2.6.1 कहता है। लेकिन जब मैं ग्लासफ़िश/मॉड्यूल निर्देशिका में वास्तविक org.eclipse.persistence.core.jar की जांच करता हूं तो readme.html 2.6 कहता है। और मुझे अभी भी त्रुटि हो रही है! –

+1

निश्चित रूप से, ग्रहण में अद्यतन ग्लासफ़िश का उपयोग करने वाले संस्करण के समान नहीं हैं। –

उत्तर

1

समस्या का समाधान किया गया था जो ग्लासफ़िश का उपयोग कर रहा था eclipselink के संस्करण को अद्यतन करके हल किया गया था। ग्रहण ने इसका संस्करण अपडेट किया है, लेकिन ग्लासफ़िश को इसके अपने अपडेट की आवश्यकता है। ग्लासफ़िश/मॉड्यूल निर्देशिका में रखी जाने वाली जार फ़ाइलों की सूची इस उत्तर में दी गई है: How to change EclipseLink in GlashFish 4.0?

2

जर्सी जेआईआरए और ग्रहण लिंक वेबसाइट के माध्यम से जाना ऐसा लगता है जैसे ग्रहण लिंक 2.6.1 अभी भी विकास में है यानी जारी नहीं किया गया है।यही कारण है कि यह डाउनलोड के लिए उपलब्ध नहीं है।

मैवेन में जर्सी के एक अद्यतन संस्करण का उपयोग करने के लिए आपको अपने pom.xml में नए संस्करण 2.19 के आधार पर देना होगा।

लेकिन, चूंकि ग्रहण लिंक 2.6.1 अभी तक जारी नहीं किया गया है, भले ही आप जर्सी के नए संस्करण का उपयोग करते हैं, यह बहुत कम उपयोग हो सकता है। लेकिन फिर भी आप इसे आज़मा सकते हैं।

+0

मैंने जर्सी संस्करण अपडेट किया है, लेकिन इससे कोई फर्क नहीं पड़ता है। जब eclipselink का नया संस्करण आता है, तो मैं इसे कैसे अपडेट करूं? क्या ग्रहण स्वचालित रूप से करता है? –

+0

मुझे संदेह है कि स्वचालित अपडेट वहां है। आप इस लिंक का उपयोग कर ग्रहण के अंदर 'मार्केटप्लेस' से अपडेट की जांच कर सकते हैं http://download.eclipse.org/rt/eclipselink/updates/। वर्तमान में यह 2.6.0 नवीनतम के रूप में दिखा रहा है। –

2

जर्सी के संस्करण को अद्यतन, निम्नलिखित निर्भरता खोजने के लिए और

<dependency> 
    <groupId>org.glassfish.jersey.core</groupId> 
    <artifactId>jersey-server</artifactId> 
    <version>2.22.1</version> 
</dependency> 
2

कौन सा सर्वर आप अपने प्रोजेक्ट की तैनाती कर रहे हैं में अपने pom.xml फ़ाइल में संस्करण टैग के मान को अद्यतन करने के लिए? मुझे ग्लासफ़िश 4.1.1 (उस त्रुटि को शामिल करने) के साथ बहुत सारी समस्याएं आई हैं। मैं 4.1 तक गिर गया और सब कुछ ठीक चलाता है। यह 4.1.1 नवीनतम मॉड्यूल (सर्वर में संलग्न जार) के साथ एक समस्या के कारण हो सकता है। मुझे उम्मीद है यह मदद करेगा। यह सबसे अच्छा समाधान नहीं है, लेकिन मेरे लिए एक अस्थायी कामकाज था 'जब तक मुझे लगता है कि कौन से मॉड्यूल विफल हो रहे हैं।

+0

हाय Bisonfan95 - मैं ग्लासफ़िश के लिए काफी नया हूं - मैं संस्करण को डाउनग्रेड करने के बारे में कैसे जा सकता हूं - मुझे कुछ भी ऑनलाइन नहीं लगता है कि मुझे इस बारे में कैसे जाना है ... टॉम –

+0

बस एक पुराना वितरण डाउनलोड करें। मैं netbeans का उपयोग करता हूं और मैं अपनी परियोजना की स्थापना करते समय विज़ार्ड से कोई वितरण डाउनलोड कर सकता हूं। यदि ग्रहण में विकल्प नहीं है तो बस आधिकारिक ग्लासफ़िश साइट पर जाएं और पुराने वितरण की खोज करें। चीयर्स: डी – Bisonfan95

+0

ओह और स्पष्ट रूप से प्रोजेक्ट को कॉन्फ़िगर करें ताकि यह आपके द्वारा डाउनलोड की गई नई पुरानी ग्लासफ़िश पर तैनात हो और इसे चलाएं: डी – Bisonfan95

संबंधित मुद्दे