2016-09-22 158 views
1

我使用AWS SDK將文件上傳到S3桶,設置Java類路徑時,「AWS-Java的SDK-1.10.49.jar」,程序工作正常,但是當替換jar文件到更高版本「aws-java-sdk-1.11.35.jar」,我得到異常「未找到AmazonServiceException類如下」AmazonServiceException類未找到

線程「main」中的異常java.lang.NoClassDefFoundError:com/amazonaws/AmazonServiceException at java .lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.privateGetMethodRecursive(Class.java:3048) at 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:在sun.misc com.amazonaws.AmazonServiceException 在java.net.URLClassLoader.findClass(URLClassLoader.java:381) 在java.lang.ClassLoader.loadClass(ClassLoader.java:424) .Launcher $ AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

any help?

+0

你有類路徑的AWS SDK的兩個版本? – jbird

+0

沒有,一個版本如下:$ JAVA_HOME /斌/ java的-classpath ./commons-httpclient.jar:${LIBDIR}/ojdbc6-11.2.0.3.jar:./commons-logging.jar:./log4j-1.2 .17.jar:./公地編解碼器1.8.jar:./ AWS-Java的SDK-1.11.35.jar:./ AWS-Java的SDK-s3-1.11.35.jar:./傑克遜 - 數據綁定-2.5。 3.jar:./傑克遜核心-2.5.3.jar:./傑克遜的註解-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:./公地IO-2.4.jar:./ javax.json-1.0.4.jar:。 /json-simple-1.1.1.jar awss3.testUpload – Telebh

回答

1

我們這裏有三種可能的問題:

  1. 的NoClassDefFoundError的一個簡單例子是類屬於丟失的JAR文件或JAR未添加到類路徑或有時罐子的名字已經被別人改變像我案例我的一個同事已經改變tibco.jar到tibco_v3.jar和程序與java.lang.NoClassDefFoundError失敗,我想知道什麼是錯的。

  2. 該類不在Classpath中,沒有確切的知道它的方法,但很多時候你只需要看一下打印System.getproperty(「java.classpath」),它將從那裏打印類路徑您至少可以瞭解您的實際運行時類路徑。

  3. 只要嘗試使用顯式的-classpath選項來運行你認爲會工作的類路徑,如果它正在工作,那麼肯定有人重寫java classpath。

this文章看看

+1

謝謝,我只是創造了另一個項目,並添加了所有Maven依賴和運行程序工作正常,但對於第一個程序還在抱怨ClassNotFound的!!!!我相信我明確指定java CLASSPATH中的aws-java-sdk-1.11.23.jar。 FYI ..程序在Eclipse中運行良好,在Linux中運行時會發生問題 – Telebh