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/
.
即使在添加 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/
.