Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/protocol/HttpContext
at com.amazonaws.AmazonWebServiceClient.<init>(AmazonWebServiceClient.java:119)
at com.amazonaws.AmazonWebServiceClient.<init>(AmazonWebServiceClient.java:103)
at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:362)
at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:344)
at Gethtml_fromS3.main(Gethtml_fromS3.java:16)
Caused by: java.lang.ClassNotFoundException: org.apache.http.protocol.HttpContext
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 5 more
任何人都可以为我提供上述错误的解决方案吗?
答案 0 :(得分:2)
很难确定应用程序引发此异常的确切原因,但有一些常见的指针可能会对您有所帮助。
当您在代码中使用运行时无法使用的类时,会引发异常。在这种情况下,您似乎无法使用org.apache.http.protocol.HttpContext。最有可能的是,您创建的应用程序包含Amazon AWS jar,但缺少Apache HTTPClient jar。
如果您使用gradle / maven创建应用程序,请将其包含在依赖项中。它是一个简单的Java程序,确保您的类路径中可用的JAR(例如,您当前拥有Amazon jar的位置)。
答案 1 :(得分:2)
请检查您是否有httpcore jar。将httpcore-4.2.jar添加到我的lib后,我摆脱了这个错误。