2014-10-05 38 views
0

我正在嘗試在我正在構建的應用程序中使用地理庫。我按照本教程中詳細介紹的步驟創建表格並將地址插入表格。但是,當我到達這條線GeoDataManager putPoint方法導致異常

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 

任何人都可以幫助我理解爲什麼我可能會得到這個?

回答

0

看來DynamoDB GEO不會將s2-geometry jar放入類路徑中。

您使用的是maven嗎?或者你自己構建類路徑?

+0

我自己構建類路徑。我將s2-geometry jar添加到類路徑中,但是現在我得到此異常 線程「main」中的異常java.lang.NoClassDefFoundError:com/google/common/base/Preconditions – user3010617 2014-10-06 02:35:48

+0

這不是一個好主意classpaths在你自己的。你應該使用maven/ivy來管理依賴關係。您現在缺少的課程來自Google Guava:https://code.google.com/p/guava-libraries/wiki/Release18 – 2014-10-12 22:56:25

相關問題