मैं एक्सेलिप लुना (संस्करण 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 फ़ाइल को मैन्युअल रूप से अपडेट किया है। हालांकि यह काफी हैकी है, क्योंकि मुझे नहीं पता कि ऐसा करने से और क्या प्रभावित होता है, यह इस समस्या से अधिक हो जाता है। अगर मुझे ऐसा करने का सही तरीका पता चलता है, तो मैं सब कुछ और सैंड्री के लिए नीचे एक उत्तर लिखूंगा।
मुझे यकीन है कि अद्यतन मुझे 2.6.1 (लेकिन 2.6.2 नहीं) जब मैं उन्हें कोशिश करता हूं Feb-2016। –
हाँ - जब मैं अपने प्रोजेक्ट में कोड का उपयोग करके कोशिश करता हूं कि यह देखने के लिए कि eclipselink का कौन सा संस्करण उपयोग कर रहा है, यह 2.6.1 कहता है। लेकिन जब मैं ग्लासफ़िश/मॉड्यूल निर्देशिका में वास्तविक org.eclipse.persistence.core.jar की जांच करता हूं तो readme.html 2.6 कहता है। और मुझे अभी भी त्रुटि हो रही है! –
निश्चित रूप से, ग्रहण में अद्यतन ग्लासफ़िश का उपयोग करने वाले संस्करण के समान नहीं हैं। –