2012-09-05 12 views
5

द्वारा गलत कार्यान्वयन का उपयोग कर जेएक्सपी एक्सएसएलटी ट्रांसफॉर्मर मुझे टॉमकैट 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 है। फ़ॉलबैक मान नहीं होना चाहिए?

+0

क्या आपने 'CATALINA_HOME/lib' की जांच की थी? – Brad

+0

टोमकैट 5.5 '$ CATALINA_HOME/lib' का उपयोग नहीं करता है। अफैक कि टॉमकैट 6+ है। मैंने '$ CATALINA_HOME/server',' common', और 'साझा' में कोई लाभ नहीं लिया है। – Jonathan

+0

कक्षा 'org.apache.xalan.processor.TransformerFactoryImpl' पुराने जेडीके 1.4 सेटअप से हो सकती है, इसलिए मुझे उम्मीद है कि वहां आपके' क्लासस्पैट ' – Brad

उत्तर

8

खुद को समस्या मिली। यह पता चला है कि मेरे पास apache-tomcat-5.5.23-compat फ़ाइलें स्थापित थीं, क्योंकि मैं जावा 1.4.2 से माइग्रेट कर रहा था। समाधान $CATALINA_HOME/common/endorsed निर्देशिका (विशेष रूप से xercesImpl.jar और xml-apis.jar) और bin/jmx.jar फ़ाइलों के तहत सब कुछ हटाने के लिए था।

0

उसी समस्या को मैं ग्लासफ़िश सर्वर V3.1 के साथ भी प्राप्त कर रहा था और $ GLASSFISH_HOME \ lib \ endorsed निर्देशिका में xalan-2.7.0.jar डालकर समस्या हल हो गई है।

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