【发布时间】:2017-01-31 16:07:37
【问题描述】:
当将 java 类路径设置为“aws-java-sdk-1.10.49.jar”时,我正在使用 AWS SDK 将文件上传到 S3 存储桶,程序运行良好,但是将 jar 文件替换为更高版本时“aws- java-sdk-1.11.35.jar”,我得到一个异常“AmazonServiceException class not found as below。”
线程“主”java.lang.NoClassDefFoundError 中的异常:com/amazonaws/AmazonServiceException 在 java.lang.Class.getDeclaredMethods0(本机方法) 在 java.lang.Class.privateGetDeclaredMethods(Class.java:2701) 在 java.lang.Class.privateGetMethodRecursive(Class.java:3048) 在 java.lang.Class.getMethod0(Class.java:3018) 在 java.lang.Class.getMethod(Class.java:1784) 在 sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544) 在 sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526) 引起:java.lang.ClassNotFoundException:com.amazonaws.AmazonServiceException 在 java.net.URLClassLoader.findClass(URLClassLoader.java:381) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:424) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357)
有什么帮助吗?
【问题讨论】:
-
类路径上是否有两个版本的 AWS 开发工具包?
-
不,一个版本如下:$JAVA_HOME/bin/java -classpath ./commons-httpclient.jar:${LIBDIR}/ojdbc6-11.2.0.3.jar:./commons-logging。 jar:./log4j-1.2.17.jar:./commons-codec-1.8.jar:./aws-java-sdk-1.11.35.jar:./aws-java-sdk-s3-1.11.35。罐子:./jackson-databind-2.5。 3.jar:./jackson-core-2.5.3.jar:./jackson-annotations-2.5.0.jar:./httpclient-4.3.3.jar:./httpcore-4.3.2.jar:./ javax.jms-1.1 .jar:/amazon-sqs-java-messaging-lib-1.0.0.jar:./commons-io-2.4.jar:./javax.json-1.0.4.jar:./json -simple-1.1.1.jar awss3.testUpload
标签: amazon-web-services amazon-s3