首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android : Apache POI重复条目: org/apache/xmlbeans/xml/stream/Location.class错误

Android : Apache POI重复条目: org/apache/xmlbeans/xml/stream/Location.class错误
EN

Stack Overflow用户
提问于 2016-07-05 18:57:05
回答 3查看 8.1K关注 0票数 3

嗨,我在运行我的android项目时遇到了以下错误:

代码语言:javascript
复制
Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: org/apache/xmlbeans/xml/stream/Location.class

我已经在互联网上搜索过这个问题,不同类型的解决方案提供了一些如下所示:

代码语言:javascript
复制
1] Enable multidex, (by doing `multiDexEnabled true`),
2] Remove support library v4 as v7 comes with it, (I am using only v7),
3] Increase jvm heap size through gradle or through gradle.properties,
2] Do not use multiple playstore library versions (Which I am not using already)

当我在gradle中添加Apache POI的依赖项时,上述一切都开始了,如下所示:

代码语言:javascript
复制
dependencies {
    ....
    compile group: 'org.apache.poi', name: 'poi-ooxml', version: '3.14'
}

在我的案例中,上述方法都不起作用。为什么会发生这种情况&什么是可靠的解决方案。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-07-06 16:03:55

在Android上使用POI时,有一些项目试图解决一些问题。

请看一下示例项目https://github.com/centic9/poi-on-android/,它允许为Android上的POI构建一个单独的jar文件。它删除了重复项,还修复了一些其他问题,包括禁止的包名和其他问题。

该领域的另一个项目是https://github.com/andruhon/android5xlsx,但是它目前只支持旧版本的POI。

票数 5
EN

Stack Overflow用户

发布于 2021-06-26 13:31:35

另一种解决方法是排除在实现中被视为错误的组,并尝试再次运行。

如下所示:

代码语言:javascript
复制
implementation ('org.apache.poi:poi-ooxml:3.17')
{
    exclude group: 'org.apache.xmlbeans', module: 'xmlbeans'
    //https://stackoverflow.com/a/56029604/7710739
}

注意:检查您的构建错误,并将您获得的类替换为重复类。

票数 1
EN

Stack Overflow用户

发布于 2016-07-06 14:14:32

在做了一些其他阅读后,我发现在android中使用poi库存在问题,请参阅下面的链接:

https://bz.apache.org/bugzilla/show_bug.cgi?id=59268#c0

https://github.com/andruhon/android5xlsx上的项目已经减少了poi.jar & poi-ooxml.jar的库版本,请将它们导入到您的libs文件夹中,并在gradle中包含以下代码:

代码语言:javascript
复制
compile fileTree(include: ['*.jar'], dir: 'libs')

这样做的原因是创建这个项目的人已经从基本的poi.jar中排除了xmlbeans.jar,这与安卓的构建有问题。功劳归功于安德鲁。

这个变通方法在我身上起作用了,因此我将其作为答案发布

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38201667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档