java.lang.NoClassDefFoundError 已将 jar 文件导入 android studio

java.lang.NoClassDefFoundError when already imported jar files to android studio

即使在添加 Jackson jar 文件后,我仍收到错误 java.lang.NoClassDefFoundError: org.codehaus.jackson.map.ObjectMapper。在 Android 工作室?

还尝试了几个链接。即 this,这没有帮助。

编辑:

经过一番研究,我发现了错误的根源。 Amazon 提供的 dynamo-geo.jar 库存在固有缺陷,因为它引用了某种过时的 Jackson 版本。通过查看,我可以看到名为 geoJsonMapper 的 class 指的是 Jackson 的旧 1.x.x 版本中已弃用的 ObjectMapper 版本。我从 dynamo-geo.jar here 打开源代码并将 ObjectMapper 导入从过时版本编辑为 import com.fasterxml.jackson.databind.ObjectMapper;.

现在我遇到的问题是我不确定是否有办法在 Android Studio 中编译 JAR 文件?为了将新更新的库放入我的其他 Android Studio 项目中?

编辑:

解决方案 - read this.

如果您使用的是 Jackson 2,那么您需要导入 com.fasterxml.jackson.databind.ObjectMapper 而不是 org.codehaus.jackson.map.ObjectMapper。您的类路径中可能还混合了 Jackson 1 和 Jackson 2 JAR 文件。

您应该能够创建分支 dynamodb-geo,进行更改,并使用 Maven 打包新的 JAR 文件(运行 命令 mvn clean package)。新的 JAR 文件将位于 /dynamodb-geo/target/.