2011-05-11 16 views
14

संदर्भित निर्भरताओं सहित/प्रतिक्रिया को पुन: प्रस्तुत करना मैं मेवेन का निर्माण उपकरण के रूप में उपयोग कर एक एंड्रॉइड ऐप पर काम कर रहा हूं। मैं सही ढंग से ईमानदारी से स्थापित करने में कामयाब रहा (मेवेन निर्भरता एपीके आदि को निर्यात किया जाता है), हालांकि मेरे पास एक शेष समस्या है जो मुझे पागल कर रही है।एंड्रॉइड: जेविक्स कोर क्लासेस

मैं के रूप में मेरे पोम फ़ाइल में इस प्रकार परिभाषित simpleframework's xml parser पर निर्भरता शामिल करना चाहते हैं:

<dependency> 
    <groupId>org.simpleframework</groupId> 
    <artifactId>simple-xml</artifactId> 
    <version>2.5.3</version> 
</dependency> 

जब मैं इस परियोजना पर mvn install जारी, मैं निम्न त्रुटि (छोटा) मिलती है:

trouble processing "javax/xml/namespace/NameSpaceContext.class" ... 

मुझे इन जेवाक्स-क्लासों का संदर्भ देने वाले सरल एक्सएमएल पार्सर से त्रुटि के परिणाम पता हैं, हालांकि मुझे अभी तक कोई समाधान नहीं मिला है (--कोर-लाइब्रेरी ध्वज को कोई उपयोग नहीं है)।

मैं वर्तमान में मैवेन-जर्जर-प्लगिंग के साथ निर्भरता को दोबारा लगाने की कोशिश कर रहा हूं लेकिन यह काम नहीं करता है।

क्या कोई इस से मेरी सहायता कर सकता है? बहुत से, अग्रिम में बहुत धन्यवाद!

उत्तर

28

इस तरह से अपनी सरल-एक्सएमएल depedency परिभाषित करें:

<dependency> 
    <groupId>org.simpleframework</groupId> 
    <artifactId>simple-xml</artifactId> 
    <version>2.6.1</version> 
    <exclusions> 
     <!-- StAX is not available on Android --> 
     <exclusion> 
      <artifactId>stax</artifactId> 
      <groupId>stax</groupId> 
     </exclusion> 
     <exclusion> 
      <artifactId>stax-api</artifactId> 
      <groupId>stax</groupId> 
     </exclusion> 
     <!-- Provided by Android --> 
     <exclusion> 
      <artifactId>xpp3</artifactId> 
      <groupId>xpp3</groupId> 
     </exclusion> 
    </exclusions> 
</dependency> 
+0

आपके उत्तर के लिए धन्यवाद। मैं वर्तमान में परियोजना पर काम नहीं कर रहा हूं, लेकिन मैं भविष्य के उपयोग के लिए इसे ध्यान में रखूंगा। यदि यह तब काम करता है, तो मैं वापस आऊंगा और इस उत्तर को स्वीकार करना सुनिश्चित करूँगा :) – thomaux

+3

यह आदमी काम करता है!मार्किन उत्तर स्वीकार करें :) –

+0

इस समाधान का प्रयास कर रहा है लेकिन मेरे पास अभी भी एक org.simpleframwork.xml.core.Persister त्रुटि नहीं मिली है। –

2

मैं एंड्रॉइड-मेवेन-प्लगइन का उपयोग करता हूं, और <coreLibrary>true</coreLibrary> को <configuration> प्लगइन के प्लगइन में प्लगइन के लिए जोड़ता है। हालांकि, एक बग है: https://github.com/jayway/maven-android-plugin/pull/34, कि आप जिस प्लगइन का उपयोग कर रहे हैं उसे ठीक करने के लिए आपको शामिल करने की आवश्यकता है, क्योंकि बग 3.0 तक तय नहीं किया जाएगा। यहां बताया गया है कि मुझे 2.9.0-स्नैपशॉट का उपयोग करके यह मेरे लिए कैसे काम कर रहा है।

  1. http करने के लिए एक pluginRepository इशारा जोड़ने: // oss.sonatype.org/content/repositories/jayway-snapshots/ 2.9.0-SNAPSHOT
  2. अद्यतन आपकी प्लगइन संस्करण 2.9.0-SNAPSHOT उपयोग करने के लिए प्राप्त करने के लिए और < coreLibrary> जोड़ने सच </coreLibrary pom.xml करने
  3. से समाधान प्राप्त>: Git क्लोन https://github.com/kevinpotgieter/maven-android-plugin.git
  4. निकालें src/परीक्षण/जावा/कॉम: तो परीक्षण असफल नहीं हो
  5. mvn पैकेज
  6. इसे कॉपी करें और .m2 में अपने स्थानीय Maven कैश के ऊपर लिख (आप अपने प्लगइन भंडार को निकालने के लिए तुम्हारा ओवरराइट हो जाता है हर बार पड़ सकता है।)

चरण 3-6 आवश्यक के बाद ठीक 2.9.0-स्नैपशॉट के रूप में हो जाता है नहीं होगा।


अद्यतन जुलाई 2010: 2.9.0 बीटा 4, ठीक है तो आप ऊपर वैकल्पिक हल यदि आप 2.9.0 बीटा 4 या बाद का उपयोग जरूरत नहीं है। मैंने 2.9.0-बीटा -5 का परीक्षण किया जो ठीक काम करता था।

1

वसंत एंड्रॉइड सरल एकीकृत करने के लिए मेवेन का उपयोग करता है। निम्नलिखित यूआरएल पर एक नज़र डालें, इसे सरल के साथ काम कर रहे मेवेन को कैसे प्राप्त करें, इस पर पॉइंटर्स प्रदान करना चाहिए।

http://static.springsource.org/spring-android/docs/1.0.x/reference/html/rest-template.html