在本地计算机中运行AWS dynamoDb时出现异常

时间:2016-05-20 06:57:38

标签: amazon-dynamodb

我已下载AWS dynamodb zip文件并解压缩到D:/ dynamoDB文件夹 尝试使用

通过命令提示符运行时
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar

发生以下异常

Exception in thread "main" java.lang.NoSuchFieldError: completionKey
        at sun.nio.fs.WindowsNativeDispatcher.initIDs(Native Method)
        at sun.nio.fs.WindowsNativeDispatcher.<clinit>(Unknown Source)
        at sun.nio.fs.WindowsLinkSupport.getRealPath(Unknown Source)
        at sun.nio.fs.WindowsPath.toRealPath(Unknown Source)
        at sun.nio.fs.WindowsPath.toRealPath(Unknown Source)
        at sun.util.calendar.ZoneInfoFile$1.run(Unknown Source)
        at sun.util.calendar.ZoneInfoFile$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.util.calendar.ZoneInfoFile.<clinit>(Unknown Source)
        at sun.util.calendar.ZoneInfo.getTimeZone(Unknown Source)
        at java.util.TimeZone.getTimeZone(Unknown Source)
        at java.util.TimeZone.setDefaultZone(Unknown Source)
        at java.util.TimeZone.getDefaultRef(Unknown Source)
        at java.util.TimeZone.getDefault(Unknown Source)
        at org.eclipse.jetty.util.DateCache.<init>(DateCache.java:88)
        at org.eclipse.jetty.util.log.StdErrLog.<clinit>(StdErrLog.java:68)
        at org.eclipse.jetty.util.log.Log.initStandardLogging(Log.java:185)
        at org.eclipse.jetty.util.log.Log.initialized(Log.java:168)
        at org.eclipse.jetty.util.log.Log.getLogger(Log.java:435)
        at org.eclipse.jetty.util.log.Log.getLogger(Log.java:425)
        at org.eclipse.jetty.util.IO.<clinit>(IO.java:44)
        at org.eclipse.jetty.util.log.Log$1.run(Log.java:110)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.eclipse.jetty.util.log.Log.<clinit>(Log.java:85)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.<clinit>(AbstractL
ifeCycle.java:33)
        at com.amazonaws.services.dynamodbv2.local.main.ServerRunner.createServe
r(ServerRunner.java:123)
        at com.amazonaws.services.dynamodbv2.local.main.ServerRunner.createServe
rFromCommandLineArgs(ServerRunner.java:119)
        at com.amazonaws.services.dynamodbv2.local.main.ServerRunner.main(Server
Runner.java:70)

我在Windows 32系统中使用Java7 sdk。

1 个答案:

答案 0 :(得分:0)

如果应用程序试图访问或修改对象的指定字段,并且该对象不再具有该字段,则抛出

NoSuchFieldError个异常“。在这种情况下,可能是jar是针对一个版本的java(或其他依赖项)编译的,并且您使用的是不兼容的不同版本。

我建议自support for Java7 ended as of April 2015以来更新到Java8。另外,检查您的jetty版本(因为JVM之外的最后一次调用是由org.eclipse.jetty.util.DateCache.<init>(DateCache.java:88)引起的),以确保它兼容。