Error duplicating input when using POI with gradle

I started a project that needed an Apache POI library. I pasted them into the build.gradle file and everything seemed fine. Until I create a debugging application.

I get the following error:

Error: execution completed for task ': Mobile: transformClassesWithJarMergingForDebug'.

com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: org / Apache / XMLBeans / XML / Stream / Location.class

I tried to remove and add the exception group and module, but nothing helped. When I get apk debugging to build and run the application, the application crashes because org.apache.xmlbeans.XmlOptions was not detected when opening the DOCX file. DOC files work fine.

Here is my build.gradle file:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "{application_id}"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"

        // Enabling multidex support.
        multiDexEnabled true


    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    compileOptions {
        encoding "UTF-8"
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

    dexOptions {
        javaMaxHeapSize "4g"
        preDexLibraries = false
    }

    lintOptions {
        checkReleaseBuilds false
        // Or, if you prefer, you can continue to check for errors in release builds,
        // but continue the build even when errors are found:
        abortOnError false

        // set to true to turn off analysis progress reporting by lint
        quiet false
        // if true, stop the gradle build if errors are found
        abortOnError true
        // if true, only report errors
        ignoreWarnings false
        // turn off checking the given issue id's
        disable 'TypographyFractions', 'TypographyQuotes'
        // if true, generate a text report of issues (false by default)
        textReport true
        // location to write the output; can be a file or 'stdout'
        textOutput 'stdout'
        // if true, generate an HTML report (with issue explanations, sourcecode, etc)
        htmlReport true
        // optional path to report (default will be lint-results.html in the builddir)
        htmlOutput file("lint-report.html")
    }

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/INDEX.LIST'
        exclude 'META-INF/services/org.apache.sis.storage.DataStoreProvider'
        exclude 'META-INF/BCKEY.SF'
        exclude 'META-INF/spring.handlers'
        exclude 'META-INF/spring.schemas'
        exclude 'META-INF/services/org.apache.tika.detect.Detector'
        exclude 'META-INF/BCKEY.DSA'
        exclude 'META-INF/services/org.apache.sis.internal.jaxb.TypeRegistration'
        exclude 'META-INF/services/org.apache.tika.parser.Parser'
        exclude 'META-INF/cxf/bus-extensions.txt'
    }

}

repositories{

    mavenCentral()
    maven {url "https://github.com/karussell/mvnrepo/raw/master/releases"}
    maven {url  "http://dl.bintray.com/lukaville/maven"}
    maven {url  "http://dl.bintray.com/dasar/maven"}

}

configurations {
    all*.exclude group: 'ch.qos.logback'
    all*.exclude group: 'org.slf4j', module: 'jcl-over-slf4j'
    all*.exclude group: 'org.slf4j', module: 'jul-to-slf4j'
    all*.exclude group: 'org.slf4j', module: 'log4j-over-slf4j'
    all*.exclude group: 'org.slf4j', module: 'jcl-over-slf4j'
    all*.exclude group: 'org.slf4j', module: 'slf4j-log4j12'
    all*.exclude group: 'org.slf4j', module: 'slf4j-simple'
}


dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    wearApp project(':wear')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.android.support:design:23.1.1'
    compile 'com.android.support:support-annotations:23.1.1'

    compile 'com.getbase:floatingactionbutton:1.10.1'

    compile ('org.slf4j:slf4j-android:1.7.13'){
        exclude group: 'net.sf.log4jdbc'
        exclude group: 'org.slf4j.logger'
    }

    compile 'org.jsoup:jsoup:1.7.3'
    compile 'de.jetwick:snacktory:1.1'

    compile 'com.googlecode.juniversalchardet:juniversalchardet:1.0.3'

    // The material design file browser library
    compile 'com.nbsp:library:1.02'

    // Epub library
    compile 'nl.siegmann.epublib:epub-core:1.0@aar'


    // Begin for Office documents dependencies

    compile 'org.apache.xmlbeans:xmlbeans:2.6.0'

    compile ('org.apache.poi:poi:3.13'){
        transitive = false
        exclude group: 'org.apache.xmlbeans'
        exclude module: 'org.apache.xmlbeans'
    }

    compile ('org.apache.poi:poi-ooxml:3.13'){
        transitive = false
        exclude group: 'org.apache.xmlbeans'
        exclude module: 'org.apache.xmlbeans'
    }

    compile ('org.apache.poi:poi-scratchpad:3.13'){
        transitive = false
        exclude group: 'org.apache.xmlbeans'
        exclude module: 'org.apache.xmlbeans'
    }

    compile ('org.apache.tika:tika-core:1.11'){
        transitive = false
        exclude group: 'org.apache.xmlbeans'
    }
    compile ('org.apache.tika:tika-parsers:1.11'){
        transitive = false
        exclude group: 'org.apache.xmlbeans'
        exclude module: 'org.apache.xmlbeans'
    }
    // End for Office documents dependencies

    // PDF document library
    compile 'com.itextpdf:itextpdf:5.5.8'



}

, - , org.apache.xmlbeans, .

- , , , , , .

EDIT:

:

gradlew -q mobile: dependencies --configuration compile

( : http://pastebin.com/7TugFR3J) org.apache.xmlbeans . , java ?

№2:

, Java : javax/xml/stream/Location.class , , , .

+4
1

- .

  • jar. ( .jar .zip
  • .
  • jar jar cf xmlbeans.jar -C (path to unzipped folder) . ( , )
  • jar
0

Source: https://habr.com/ru/post/1624815/


All Articles