在使用Java解析JSON时 缺包报错
  • 2023-08-22 13:10:16
  • 8095 热度
  • 0 评论

在使用Java解析JSON时,因为缺少包,会报一些错误,这些都很容易解决的。

 

2014-12-18 10:51:55 org.apache.commons.httpclient.HttpMethodBase getResponseBody
警告: Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended.
{"code":0,"data":{"country":"\u4e2d\u56fd","country_id":"CN","area":"\u534e\u5317","area_id":"100000","region":"\u5317\u4eac\u5e02","region_id":"110000","city":"\u5317\u4eac\u5e02","city_id":"110000","county":"\u671d\u9633\u533a","county_id":"110105","isp":"\u8054\u901a","isp_id":"100026","ip":"125.34.6.143"}}
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException
 at java.lang.ClassLoader.defineClass1(Native Method)
 at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
 at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
 at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
 at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
 at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
 at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
 at http.GetIpAdd.main(GetIpAdd.java:21)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException
 at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
 ... 13 more

这是因为缺少commons-lang包造成的。

 

2014-12-18 10:56:34 org.apache.commons.httpclient.HttpMethodBase getResponseBody
警告: Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended.
{"code":0,"data":{"country":"\u4e2d\u56fd","country_id":"CN","area":"\u534e\u5317","area_id":"100000","region":"\u5317\u4eac\u5e02","region_id":"110000","city":"\u5317\u4eac\u5e02","city_id":"110000","county":"\u671d\u9633\u533a","county_id":"110105","isp":"\u8054\u901a","isp_id":"100026","ip":"125.34.6.143"}}
Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher
 at http.GetIpAdd.main(GetIpAdd.java:19)
Caused by: java.lang.ClassNotFoundException: net.sf.ezmorph.Morpher
 at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
 ... 1 more

这是因为缺少ezmorph造成的。

 

2014-12-18 10:59:02 org.apache.commons.httpclient.HttpMethodBase getResponseBody
警告: Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended.
{"code":0,"data":{"country":"\u4e2d\u56fd","country_id":"CN","area":"\u534e\u5317","area_id":"100000","region":"\u5317\u4eac\u5e02","region_id":"110000","city":"\u5317\u4eac\u5e02","city_id":"110000","county":"\u671d\u9633\u533a","county_id":"110105","isp":"\u8054\u901a","isp_id":"100026","ip":"125.34.6.143"}}
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/map/MultiKeyMap
 at net.sf.json.JsonConfig.<init>(JsonConfig.java:56)
 at net.sf.json.JSONObject.fromObject(JSONObject.java:145)
 at http.GetIpAdd.main(GetIpAdd.java:19)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.map.MultiKeyMap
 at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
 ... 3 more

这是因为缺少commons-collections包造成的。

 

下一篇,我将做一个解析淘宝API,根据IP获取城市,解析返回JSON的示例。可以根据示例和示例的JAR包,来做自己的一些应用。

但是切记要注意,在增加包时要注意包的版本,不要和原来工程引起包冲突


alay

Flame

Hello world!

0 评论
留下评论