2009-04-28 20 views
5

का उपयोग कर मैं अपने को लाइव सर्वरों में से एक पर निम्न अपवाद (दूसरों के एक ही कोड चल ठीक लग रहे हैं) मिल रही है:क्लासपाथ मुद्दा XPathFactory

java.lang.RuntimeException: XPathFactory#newInstance() failed to create an XPathFactory for the default object model: http://java.sun.com/jaxp/xpath/domwith the XPathFactoryConfigurationException: javax.xml.xpath.XPathFactoryConfigurationException: No XPathFctory implementation found for the object model: http://java.sun.com/jaxp/xpath/dom 
at javax.xml.xpath.XPathFactory.newInstance(XPathFactory.java:67) 

मैं बहुत यकीन है कि मैं Xalan और सैक्सन जार है कि कर रहा हूँ कक्षा में (आईबीएम जावा 1.5 का उपयोग कर)।

क्या आपके पास कोई विचार है कि और क्या गलत हो सकता है?

संपादित करें:

कोड है कि समस्या का कारण बनता है है कि:

  XPathFactory factory = XPathFactory.newInstance(); 

और यह एक कस्टम वेब सर्वर है कि मोटे तौर पर Catalina इंजन पर आधारित है पर चल रहा है।

+0

क्या आप कोड लिख सकते हैं जो त्रुटि उत्पन्न करता है? – Azder

+0

आप किस तरह के पर्यावरण में चल रहे हैं? बिलाव? क्या संस्करण? – Ichorus

+5

मुझे पता है कि यह चर्चा में कुछ भी नहीं जोड़ता है, लेकिन नए इंस्टेंस विधि का जावाडोक स्पष्ट रूप से कहता है "यह विधि कभी विफल नहीं होगी" ... हे! (http://xml.apache.org/xalan-j/apidocs/javax/xml/xpath/XPathFactory.html#newInstance()) – jambriz

उत्तर

3

मिले जवाब अपने आप: समस्या जावा 5 का उपयोग कर और एक विकल्प एक निर्देशिका है कि xalan.jar निहित करने के लिए

-Djava.endorsed.dirs 

सेट होने का संयोजन है।

एक बार हटा दिया गया सबकुछ फिर से काम करता है।

2

सुनिश्चित करें कि आपके द्वारा उपयोग किए जा रहे xalan के संस्करण के लिए आपके क्लासपाथ में उपयुक्त xml-apis.jar और xerces jars हैं (आप वास्तव में, आपको क्या चाहिए, इसके लिए रिलीज नोट्स देखें)। यह भी सुनिश्चित करें कि आपके पास xercesImpl.jar, xml-apis.jar और xalan.jar के रूप में गुणक नहीं हैं, सिंक में होना आवश्यक है।

4

आपको अपने क्लासपाथ में उचित .jar जोड़ने की जरूरत है। मेरे मामले में मैंने सैक्सन-हे लाइब्रेरी का इस्तेमाल किया।

There exists a bug in Saxon9 you maybe run into like me.

बग संस्करण 9.5.1.5 में सही किया गया है। तो आप latest Saxon 9 HE डाउनलोड कर सकते हैं।

+1

आपको सैक्सन 9.1 बी से अपडेट करने की आवश्यकता नहीं है .. अपमानजनक कक्षा है मुख्य जार में निवासी नहीं, बल्कि सहायक सैक्सन-xpath.jar यदि आपकी परियोजना जावा से एक्सपीएथ एक्सप्रेशन का उपयोग नहीं करती है, तो बस इस जार को अपने क्लास पथ से छोड़ दें - सभी एक्सएसएलटी रूपांतरण कार्यक्षमता अभी भी ठीक काम करती है – Black

+0

रैन वही बात है। सैक्सन में अपग्रेड> 9.5.1.4 काम किया! साझा करने के लिए धन्यवाद! – mrBrown

+0

@ फ्रैंकिस saxon-xpath.jar को हटाने का आपका बिंदु मेरे लिए काम करता है। धन्यवाद – user7

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