2014-09-21 8 views
6

समेत मुझे apache poi excel api (xlsx) में कोई समस्या है। मैं एंड्रॉइड स्टूडियो का उपयोग कर रहा हूं और मैंने "libs" फ़ोल्डर्स में poi libs को जोड़ा है। यह त्रुटि कुछ कारणों से पॉप अप हो रही है (नीचे देखें)। मैं इसे कैसे हल करूं ?, क्या आप कृपया बता सकते हैं कि आपने इस मुद्दे की पहचान कैसे की?एंड्रॉइड डुप्लिकेट क्लास त्रुटि जब अपाचे पीओआई

xmlbeans-2.6.0, poi-ooxml-schemas-3.10.1-20140818, poi-ooxml-3.10.1-20140818, poi-3.10.1-20140818, log4j-1.2.13, जूनिट-4.11, dom4j-1.6.1, कॉमन्स-लॉगिंग-1.1, कॉमन्स-कोडेक-1.5

धन्यवाद!

मेरे build.gradle तरह निम्नलिखित (सामान्य अन्य सामान को छोड़कर) लग रहा है ...

dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') }

android { packagingOptions { exclude 'META-INF/LICENSE' exclude 'META-INF/NOTICE' exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE.txt' } }

मेरे app.iml कोई डुप्लिकेट प्रविष्टियों या तो ... है

त्रुटि

Error:Class org.apache.xmlbeans.xml.stream.Location has already been added to output. Please remove duplicate copies. compiler that did not target the modern .class file format. The recommended (org.apache.log4j.chainsaw.ControlPanel$1) that doesn't come with an associated EnclosingMethod attribute. This class was probably produced by a solution is to recompile the class from source, using an up-to-date compiler 1 error; aborting

+0

आप हल किया? –

उत्तर

1

मैवेन सेंट्रल से xmlbeans 2.6 JAR में कुछ डुप्लिकेट क्लास प्रविष्टियां हैं। समस्या के लिए XMLBeans JIRA में issue open है। जब तक वे एक नया जार प्रकाशित नहीं करते हैं, मुझे लगता है कि मैं जार को अनजिप करने जा रहा हूं, जो डुप्लीकेट को ओवरराइट कर देगा, फिर इसे फिर से ज़िप करें और इसे मेरे libs dir में अभी डालें।

1

कृपया ध्यान दें कि आप समस्याओं जब Android पर Apache POI का उपयोग करते समय हो सकता है की एक संख्या देखते हैं कि। XmlBeans में डुप्लिकेट कक्षाएं वर्तमान में केवल जार को फिर से पैकेजिंग से बचा जा सकता है।

वर्तमान में दो परियोजनाएं हैं जो आप के लिए समस्याओं का सबसे हल करने का प्रयास, दोनों फिर से पैकेज यह आसान तैनात करने के लिए बनाने के लिए एक भी जार-फ़ाइल में किसी भी निर्भरता सहित सभी वर्गों के होते हैं। जैवैक्स-नेमस्पेस के साथ समस्याओं से बचने के लिए कुछ छायांकन भी किया जाता है, जो एंड्रॉइड की अनुमति नहीं देता है।

  1. https://github.com/andruhon/android5xlsx
  2. https://github.com/centic9/poi-on-android/ (मेरे द्वारा mainted)

पहले एक वर्तमान में POI 3.12 पर आधारित है, जबकि दूसरा POI के नए संस्करणों के साथ और अधिक आसानी से पुन: संकलित किया जा सकता।

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