开发者社区> 问答> 正文

Java-SDK的常见问题(二)

  1. Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/protocol/HttpContext
  2.         at com.aliyun.oss.OSSClient.<init>(OSSClient.java:268)
  3.         at com.aliyun.oss.OSSClient.<init>(OSSClient.java:193)
  4.         at com.aliyun.oss.demo.HelloOSS.main(HelloOSS.java:76)
  5. Caused by: java.lang.ClassNotFoundException: org.apache.http.protocol.HttpContext
  6.         at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
  7.         at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
  8.         at java.security.AccessController.doPrivileged(Native Method)
  9.         at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
  10.         at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
  11.         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
  12.         at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
  13.         ... 3 more

  1. Exception in thread "main" java.lang.NoClassDefFoundError: org/jdom/input/SAXBuilder
  2.         at com.aliyun.oss.internal.ResponseParsers.getXmlRootElement(ResponseParsers.java:645)
  3.         at … …
  4.         at com.aliyun.oss.OSSClient.doesBucketExist(OSSClient.java:471)
  5.         at com.aliyun.oss.OSSClient.doesBucketExist(OSSClient.java:465)
  6.         at com.aliyun.oss.demo.HelloOSS.main(HelloOSS.java:82)
  7. Caused by: java.lang.ClassNotFoundException: org.jdom.input.SAXBuilder
  8.         at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
  9.         at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
  10.         at java.security.AccessController.doPrivileged(Native Method)
  11.         at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
  12.         at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
  13.         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
  14.         at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
  15.         ... 11 more

等类似错误,说明您的工程缺少OSS Java SDK编译或运行必须的包。OSS Java SDK依赖下列包:
  • aliyun-sdk-oss-2.2.1.jar
  • hamcrest-core-1.1.jar
  • jdom-1.1.jar
  • commons-codec-1.9.jar
  • httpclient-4.4.1.jar
  • commons-logging-1.2.jar
  • httpcore-4.4.1.jar
  • log4j-1.2.15.jar

其中,log4j-1.2.15.jar是可选的,需要日志功能的时加入该包。其它包都是必不可少的。
解决办法:您的工程中在加入OSS Java SDK依赖的包,加入方法如下:
  • 如果您的工程是Eclipse。请参考Java-SDK使用手册中的安装方式二:在Eclipse项目中导入工程依赖的包。
  • 如果您的工程是Ant。请把OSS Java SDK依赖的包,放入工程lib目录。
  • 如果您直接使用javac/java,请使用-classpath/-cp指定OSS Java SDK依赖的包路径,或把OSS Java SDK依赖的包放入classpath路经下。






展开
收起
青衫无名 2017-10-18 11:21:20 1866 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
跨平台的云服务SDK需要什么 立即下载
如何通过 Serverless 提高 Java 微服务治理效 立即下载
一个跨平台的云服务SDK需要什么 立即下载