2010-09-30 7 views
6

के दौरान डीटीएममेनगर में डीटीएममेनगर डीफॉल्ट कास्टिंग करने में क्लासकास्ट अपवाद, जेएक्सबी कोडजेन (नीचे स्टैकट्रैक देखने के लिए) जैक्सबी 2 प्लगइन का उपयोग करने वाले मैवेन बिल्ड को चलाने की कोशिश करते समय मुझे एक अजीब समस्या है। सबसे अच्छा जो मैं समझ सकता हूं वह यह है कि डीटीएममेनगर का कुछ कार्यान्वयन है जिसे xalan-2.7.1 में से एक की तुलना में अलग जेएआर से लोड किया जा रहा वर्ग है; हालांकि, मैंने सत्यापित किया है कि क्लासपाथ जिसका प्रयोग जैक्सबी चलाने के लिए किया जाता है: लक्ष्य उत्पन्न करने के लिए केवल एक xalan-2.7.1.jar होता है जिसमें एक डीटीएममेनगर या डीटीएममेनगर डीफॉल्ट होता है - इसलिए मुझे कोई संकेत नहीं है कि रास्ते में और क्या हो रहा है ।मैक जैक्सब कोडजेन

एक अंतिम डेटा बिंदु: हमारा निर्माण एक 'स्नैपशॉट' प्रोफ़ाइल निर्दिष्ट करता है, जो वास्तव में केवल स्रोतों को जार (मेवेन-स्रोत-प्लगइन का उपयोग करके) प्रदान करता है और उन्हें कलाकृतियों के रूप में प्रकाशित करता है। से ऊपर वर्णित विफलता परिदृश्य केवल तब होता है जब यह प्रोफ़ाइल डिफ़ॉल्ट के अतिरिक्त निर्दिष्ट होती है।

मैं लिनक्स x64 (फेडोरा 13) पर सूर्य के 64-बिट जेडीके 1.6.0_21 पर चल रहे मेवेन 2.2.1 का उपयोग कर रहा हूं - 'mvn -v' जानकारी के लिए स्टैकट्रैक के नीचे देखें।

कोई समस्या क्या हो सकती है और/या इसे डिबग करने के बारे में कैसे जाना है? यह मैं पिछले कुछ दिनों के लिए दु: ख के कारण किया गया है और यह अब प्रगति :(ब्लॉकिंग

java.lang.ClassCastException: org.apache.xml.dtm.ref.DTMManagerDefault cannot be cast to org.apache.xml.dtm.DTMManager 
    at org.apache.xml.dtm.DTMManager.newInstance(DTMManager.java:137) 
    at org.apache.xpath.XPathContext.<init>(XPathContext.java:102) 
    at org.apache.xpath.jaxp.XPathImpl.eval(XPathImpl.java:207) 
    at org.apache.xpath.jaxp.XPathImpl.evaluate(XPathImpl.java:281) 
    at com.sun.tools.xjc.reader.internalizer.Internalizer.buildTargetNodeMap(Internalizer.java:224) 
    at com.sun.tools.xjc.reader.internalizer.Internalizer.buildTargetNodeMap(Internalizer.java:289) 
    at com.sun.tools.xjc.reader.internalizer.Internalizer.transform(Internalizer.java:134) 
    at com.sun.tools.xjc.reader.internalizer.Internalizer.transform(Internalizer.java:96) 
    at com.sun.tools.xjc.reader.internalizer.DOMForest.transform(DOMForest.java:448) 
    at com.sun.tools.xjc.ModelLoader.buildDOMForest(ModelLoader.java:342) 
    at com.sun.tools.xjc.ModelLoader.loadXMLSchema(ModelLoader.java:374) 
    at com.sun.tools.xjc.ModelLoader.load(ModelLoader.java:167) 
    at com.sun.tools.xjc.ModelLoader.load(ModelLoader.java:113) 
    at org.jvnet.jaxb2.maven2.XJC2Mojo.runXJC(XJC2Mojo.java:1119) 
    at org.jvnet.jaxb2.maven2.XJC2Mojo.execute(XJC2Mojo.java:720) 
... 

mvn -v:

# mvn -v 
Apache Maven 2.2.1 (r801777; 2009-08-06 14:16:01-0500) 
Java version: 1.6.0_21 
Java home: /usr/java/jdk1.6.0_21/jre 
Default locale: en_US, platform encoding: UTF-8 
OS name: "linux" version: "2.6.33.3-85.fc13.x86_64" arch: "amd64" Family: "unix" 

उत्तर

13

समाधान में Xalan और xercesImpl पर सभी निर्भरता के लिए खोज करने के लिए है ।। classpath ये निर्भरता बाहर रखा जाना चाहिए

अपडेट किया गया

मैं इस तरह एक जवाब मिला - देखना http://www.mail-archive.com/[email protected]/msg07295.html

Had a look at this closely and figured it was due to a classpath class 
due to Sun bundling an older version of Xalan jar. 
I have disabled this test until we come up with a decent solution. 

Rajith 
+0

हैलो, क्या आप समझा सकते हैं कि मैं यह कैसे कर सकता हूं? मुझे डेबियन + जेबॉस के साथ एक ही समस्या है और इसे लिनक्स पर ठीक नहीं किया जा सकता है, लेकिन विंडोज/मैक पर ठीक काम करता है। धन्यवाद। –

+1

चलाएं {एमवीएन निर्भरता: पेड़> निर्भरता.txt} फिर जारों के लिए अपनी निर्भरताओं को बहिष्कृत करें जिन्हें बाहर रखा जाना चाहिए। – raisercostin

3

Maven में xalan और xercesImpl निर्भरता निकालने के लिए:

<dependency> <!-- ClassNotFoundException: org.jaxen.dom.DOMXPath --> 
     <groupId>jaxen</groupId> 
     <artifactId>jaxen</artifactId> 
     <version>1.1.3</version> 
     <exclusions> 
      <exclusion> 
       <artifactId>maven-findbugs-plugin</artifactId> 
       <groupId>maven-plugins</groupId> 
      </exclusion> 
      <exclusion> 
       <artifactId>maven-cobertura-plugin</artifactId> 
       <groupId>maven-plugins</groupId> 
      </exclusion> 
      <!-- ClassCastException: org.apache.xml.dtm.ref.DTMManagerDefault -> org.apache.xml.dtm.DTMManager --> 
      <exclusion> 
       <artifactId>xercesImpl</artifactId> 
       <groupId>xerces</groupId> 
      </exclusion> 
      <exclusion> 
       <artifactId>xalan</artifactId> 
       <groupId>xalan</groupId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

भी देखें https://community.jboss.org/wiki/FreeMarkerAndJBossAS7