GeoDataManager putPoint方法导致异常

时间:2014-10-05 01:50:20

标签: amazon-dynamodb

我正在尝试在我正在构建的应用程序中使用Geo Library。我按照本教程中详述的步骤创建表并将geopoint插入表中。但是,当我到达这一行时

PutPointResult putPointResult = geoDataManager.putPoint(putPointRequest);

我得到例外。

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/geometry/S2LatLng
at com.amazonaws.geo.s2.internal.S2Manager.generateGeohash(S2Manager.java:116)
at com.amazonaws.geo.dynamodb.internal.DynamoDBManager.putPoint(DynamoDBManager.java:123)
at com.amazonaws.geo.GeoDataManager.putPoint(GeoDataManager.java:131)
at geolibraryTest.GeoLibraryTest.main(GeoLibraryTest.java:72)
Caused by: java.lang.ClassNotFoundException: com.google.common.geometry.S2LatLng
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 4 more

任何人都可以帮助我理解为什么我会这样做吗?

1 个答案:

答案 0 :(得分:0)

DynamoDB GEO似乎没有把s2-geometry jar放在类路径中。

你正在使用maven吗?或者你自己构建类路径?