द्वारा गलत कार्यान्वयन का उपयोग कर जेएक्सपी एक्सएसएलटी ट्रांसफॉर्मर मुझे टॉमकैट 5.5 वेब एप्लिकेशन मिला है जो रनटाइम पर एक्सएमएल कॉन्फ़िगरेशन फ़ाइल उत्पन्न करने के लिए अपाचे कॉमन्स-कॉन्फ़िगरेशन लाइब्रेरी का उपयोग करता है। कॉमन्स-कॉन्फ़िगरेशन, बदले में, इसे पूरा करने के लिए javax.xml.transform
JAXP API का उपयोग करता है।डिफ़ॉल्ट
जावा 7 के उन्नयन के बाद से, आपरेशन निम्न त्रुटि संदेश के साथ विफल:
Caused by: javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl not found
at javax.xml.transform.TransformerFactory.newInstance(Unknown Source)
पिछले रिलीज में, मैं xalan.jar बंडल कभी नहीं किया है, बजाय मंच डिफ़ॉल्ट XSLT कार्यान्वयन पर निर्भर।
कुछ बातें मैं देख लिया है:
- कोई
META-INF/services/javax.xml.transform.TransformerFactory
प्रविष्टियों अपने आवेदन जार फ़ाइलें, पुस्तकालय जार के किसी भी, या बिलाव जार javax.xml.transform.TransformerFactory
प्रणाली संपत्ति सेट नहीं होने में में (कम से सत्यापित कर रहे हैं JVisualVM के माध्यम से क्रम)- वहाँ
jre/lib
निर्देशिका
में कोई jaxp.properties
फ़ाइल 0 के साथ चल रहा है है
JAXP: find factoryId =javax.xml.transform.TransformerFactory
JAXP: loaded from fallback value: org.apache.xalan.processor.TransformerFactoryImpl
इस फ़ॉलबैक मान कहाँ से आ रहा है:निम्नलिखित उत्पादन उत्पादन होता है? ओरेकल Xalan ट्रांसफार्मर जहाज, लेकिन 1.7 के बाद से इसे com.sun.org.apache.xalan.processor...
के रूप में repackaged है। फ़ॉलबैक मान नहीं होना चाहिए?
क्या आपने 'CATALINA_HOME/lib' की जांच की थी? – Brad
टोमकैट 5.5 '$ CATALINA_HOME/lib' का उपयोग नहीं करता है। अफैक कि टॉमकैट 6+ है। मैंने '$ CATALINA_HOME/server',' common', और 'साझा' में कोई लाभ नहीं लिया है। – Jonathan
कक्षा 'org.apache.xalan.processor.TransformerFactoryImpl' पुराने जेडीके 1.4 सेटअप से हो सकती है, इसलिए मुझे उम्मीद है कि वहां आपके' क्लासस्पैट ' – Brad