2013-03-28 9 views
7

नहीं मिला JBoss ईएपी 6 में (के रूप में 7):कक्षा

मैं वसंत के WebServiceTemplate.marshalSendAndRecieve जो बारी में एक वर्ग है कि rt.jar

में exisits ढूंढने में कठिनाई हो रही है करने के लिए कोई कॉल करने से कर रहा हूँ
Caused by: java.lang.ClassNotFoundException: com.sun.org.apache.xerces.internal.dom.DocumentImpl 

मुझे नहीं पता कि यह कैसे हो सकता है? निश्चित रूप से rt.jar में जो कुछ भी है स्टार्टअप पर लोड हो जाता है?

कोई विचार?

धन्यवाद,

केनी

उत्तर

13

ठीक है, मैं एक समाधान पाया (यकीन नहीं है अगर इसकी सही तरीका है, लेकिन यह काम करता है)।

मैं जावा -verbose चलाकर देखा: वर्ग है कि केवल rt.jar में वर्ग के कुछ लाद दिए गए और एक नहीं मैं जरूरत (com.sun.org.apache.xerces.internal.dom.DocumentImpl)

तो JBoss ईएपी 6 में (7 के रूप में) वहाँ एक मॉड्यूल निर्देशिका ($ JBOSS_HOME/मॉड्यूल /) और यहाँ के तहत होती है सूरज/JDK/मुख्य/modules.xml

मैं निम्नलिखित प्रविष्टियों जोड़ा है:

<path name="com/sun/org/apache/xerces/internal/dom"/> 
<path name="com/sun/org/apache/xerces/internal/xni"/> 
<path name="com/sun/org/apache/xerces/internal/jaxp"/> 

(बाद के वर्ग के अंतिम 2 कारण बाद में अपवाद नहीं मिला डो में जोड़ना)

जैसा कि मैंने कहा था कि यह 100% सुनिश्चित नहीं है कि यह करने का सही तरीका है। कोई इनपुट स्वागत है!

धन्यवाद,

केनी

+2

यह समाधान आप की जरूरत की कुछ हद तक है। अन्य इसे jboss-deployment-struct.xml में शामिल करना होगा। किसी भी मामले में आपको अपने आवेदन के अंदर com.sun * पैकेज का उपयोग नहीं करना चाहिए, क्योंकि यह अन्य jvms के लिए पोर्टेबल बनाता है और इसे बिना किसी सूचना के पैकेज हटाया जा सकता है। – ctomc

+0

हाय ctmoc, उत्तर के लिए धन्यवाद। मैं वसंत के webservicetemplate का उपयोग कर रहा हूँ जो com.sun * पैकेज का उपयोग कर रहा है। क्या आप कह रहे हैं कि मुझे इसका इस्तेमाल नहीं करना चाहिए? धन्यवाद। – km2000

+0

वाह धन्यवाद। मुझे वाइल्डफ्लाई 9.0.1 पर 'com.sun.org.apache.xerces.internal.dom.ElementNSImpl' के साथ समस्या हो रही थी, अब यह हल हो गया है। –