问题:将modle导入到项目当中,运行没有问题,但是打包出现问题。
开发环境:AS 2.2.3
问题截图:
Messages里面的错误信息说明jar包冲突。
冲突文件就是com/alibaba/fastjson/annotation/JSONCreator.class。
选中Messages里面的信息,双击shift,搜索了一下这个类,果然发现有两个一样的JSONCreator.class类,都是来自alibaba的fastjson的jar包。
检查了一下项目发现,自己的项目的lib文件夹下有一个fastjson-1.2.7,后引入的项目中的lib文件夹下也有一个fastjson-1.2.7。
正常来说将本地项目中的jar包删掉就可以了,因为本地的项目会调用引入项目的jar包,我删了之后还是不能打包。
再次检查项目发现两个项目的gradle都有相同依赖。依赖和引入jar包作用相同,有一个即可,所以还是冲突。将相同的依赖也删除,只在引入的项目里面留了一个依赖,问题就解决了。
打包成功了。
另一种方法:
确定冲突的jar包,然后打开project下External Libraries,找到fastjson-1.2.7jar包打开,找到pom.xml文件打开,会看到groupId。如图所示:
将groupId复制,在app下的gradle里面将fastjson的依赖添加上一句话:exclude group: ‘com.alibaba’
如图所示:
如果有其他的冲突也可以这样加。
在AS 2.2.3环境下,项目导入导致jar包冲突,具体为fastjson的JSONCreator.class重复。冲突源于两个项目都包含fastjson-1.2.7.jar。尝试删除本地项目中的jar包或重复的依赖未解决问题。最终通过在引入项目的gradle中保留一个fastjson依赖并排除冲突的groupId:exclude group: 'com.alibaba',成功解决打包冲突。

2523

被折叠的 条评论
为什么被折叠?



